xrootd
|
#include "XrdFfs/XrdFfsQueue.hh"
Functions | |
void | XrdFfsQueue_enqueue (struct XrdFfsQueueTasks *task) |
struct XrdFfsQueueTasks * | XrdFfsQueue_dequeue () |
struct XrdFfsQueueTasks * | XrdFfsQueue_create_task (void *(*func)(void *), void **args, short initstat) |
void | XrdFfsQueue_free_task (struct XrdFfsQueueTasks *task) |
void | XrdFfsQueue_wait_task (struct XrdFfsQueueTasks *task) |
unsigned int | XrdFfsQueue_count_tasks () |
void * | XrdFfsQueue_worker (void *x) |
int | XrdFfsQueue_create_workers (int n) |
int | XrdFfsQueue_remove_workers (int n) |
int | XrdFfsQueue_count_workers () |
Variables | |
struct XrdFfsQueueTasks * | XrdFfsQueueTaskque_head = NULL |
struct XrdFfsQueueTasks * | XrdFfsQueueTaskque_tail = NULL |
unsigned int | XrdFfsQueueNext_task_id = 0 |
pthread_mutex_t | XrdFfsQueueTaskque_mutex = PTHREAD_MUTEX_INITIALIZER |
pthread_cond_t | XrdFfsQueueTaskque_cond = PTHREAD_COND_INITIALIZER |
pthread_mutex_t | XrdFfsQueueWorker_mutex |
unsigned short | XrdFfsQueueNworkers = 0 |
unsigned int | XrdFfsQueueWorker_id = 0 |
unsigned int XrdFfsQueue_count_tasks | ( | ) |
References XrdFfsQueueTasks::id.
int XrdFfsQueue_count_workers | ( | ) |
References XrdFfsQueueNworkers.
Referenced by XrdFfsMisc_xrd_init().
struct XrdFfsQueueTasks* XrdFfsQueue_create_task | ( | void *(*)(void *) | func, |
void ** | args, | ||
short | initstat | ||
) | [read] |
References XrdFfsQueueTasks::args, XrdFfsQueueTasks::cond, XrdFfsQueueTasks::done, XrdFfsQueueTasks::func, XrdFfsQueueTasks::mutex, and XrdFfsQueue_enqueue().
Referenced by XrdFfsPosix_deleteall(), XrdFfsPosix_readdirall(), XrdFfsPosix_statall(), XrdFfsPosix_statvfsall(), and XrdFfsQueue_remove_workers().
int XrdFfsQueue_create_workers | ( | int | n | ) |
References XrdFfsQueueTasks::id, and XrdFfsQueue_worker().
Referenced by XrdPssSys::Configure(), and XrdFfsMisc_xrd_init().
struct XrdFfsQueueTasks* XrdFfsQueue_dequeue | ( | ) | [read] |
References XrdFfsQueueTasks::next, XrdFfsQueueTasks::prev, and XrdFfsQueueTaskque_head.
Referenced by XrdFfsQueue_worker().
void XrdFfsQueue_enqueue | ( | struct XrdFfsQueueTasks * | task | ) |
References XrdFfsQueueTasks::id, XrdFfsQueueTasks::next, XrdFfsQueueTasks::prev, and XrdFfsQueueTaskque_tail.
Referenced by XrdFfsQueue_create_task().
void XrdFfsQueue_free_task | ( | struct XrdFfsQueueTasks * | task | ) |
References XrdFfsQueueTasks::args, XrdFfsQueueTasks::cond, XrdFfsQueueTasks::func, XrdFfsQueueTasks::mutex, XrdFfsQueueTasks::next, and XrdFfsQueueTasks::prev.
Referenced by XrdFfsQueue_remove_workers().
int XrdFfsQueue_remove_workers | ( | int | n | ) |
void XrdFfsQueue_wait_task | ( | struct XrdFfsQueueTasks * | task | ) |
References XrdFfsQueueTasks::cond, XrdFfsQueueTasks::done, and XrdFfsQueueTasks::mutex.
Referenced by XrdFfsQueue_remove_workers().
void* XrdFfsQueue_worker | ( | void * | x | ) |
unsigned int XrdFfsQueueNext_task_id = 0 |
unsigned short XrdFfsQueueNworkers = 0 |
Referenced by XrdFfsQueue_count_workers(), and XrdFfsQueue_remove_workers().
pthread_cond_t XrdFfsQueueTaskque_cond = PTHREAD_COND_INITIALIZER |
struct XrdFfsQueueTasks* XrdFfsQueueTaskque_head = NULL |
Referenced by XrdFfsQueue_dequeue().
pthread_mutex_t XrdFfsQueueTaskque_mutex = PTHREAD_MUTEX_INITIALIZER |
struct XrdFfsQueueTasks* XrdFfsQueueTaskque_tail = NULL |
Referenced by XrdFfsQueue_enqueue().
unsigned int XrdFfsQueueWorker_id = 0 |
pthread_mutex_t XrdFfsQueueWorker_mutex |