#include <stdlib.h>
#include <pthread.h>
Go to the source code of this file.
Classes | |
struct | XrdFfsQueueTasks |
Functions | |
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 () |
int | XrdFfsQueue_create_workers (int n) |
int | XrdFfsQueue_remove_workers (int n) |
int | XrdFfsQueue_count_workers () |
unsigned int XrdFfsQueue_count_tasks | ( | ) |
Definition at line 110 of file XrdFfsQueue.cc.
References XrdFfsQueueTasks::id, int, NULL, pthread_mutex_lock(), pthread_mutex_unlock(), XrdFfsQueueTaskque_head, and XrdFfsQueueTaskque_tail.
int XrdFfsQueue_count_workers | ( | ) |
Definition at line 226 of file XrdFfsQueue.cc.
References i, pthread_mutex_lock(), and pthread_mutex_unlock().
Referenced by XrdFfsMisc_xrd_init().
struct XrdFfsQueueTasks* XrdFfsQueue_create_task | ( | void *(*)(void *) | func, | |
void ** | args, | |||
short | initstat | |||
) |
Definition at line 76 of file XrdFfsQueue.cc.
References XrdFfsQueueTasks::args, XrdFfsQueueTasks::cond, XrdFfsQueueTasks::done, XrdFfsQueueTasks::func, malloc(), XrdFfsQueueTasks::mutex, NULL, pthread_cond_init(), pthread_mutex_init(), and XrdFfsQueue_enqueue().
Referenced by XrdFfsPosix_deleteall(), XrdFfsPosix_readdirall(), XrdFfsPosix_statall(), XrdFfsPosix_statvfsall(), and XrdFfsQueue_remove_workers().
int XrdFfsQueue_create_workers | ( | int | n | ) |
Definition at line 164 of file XrdFfsQueue.cc.
References free(), i, id, malloc(), NULL, pthread_attr_destroy(), pthread_attr_init(), pthread_attr_setdetachstate(), pthread_attr_setstacksize(), pthread_create(), PTHREAD_CREATE_DETACHED, pthread_detach(), pthread_mutex_lock(), pthread_mutex_unlock(), size_t, and XrdFfsQueue_worker().
Referenced by XrdPssSys::Configure(), and XrdFfsMisc_xrd_init().
void XrdFfsQueue_free_task | ( | struct XrdFfsQueueTasks * | task | ) |
Definition at line 90 of file XrdFfsQueue.cc.
References XrdFfsQueueTasks::args, XrdFfsQueueTasks::cond, free(), XrdFfsQueueTasks::func, XrdFfsQueueTasks::mutex, XrdFfsQueueTasks::next, NULL, XrdFfsQueueTasks::prev, pthread_cond_destroy(), and pthread_mutex_destroy().
Referenced by XrdFfsQueue_remove_workers().
int XrdFfsQueue_remove_workers | ( | int | n | ) |
Definition at line 201 of file XrdFfsQueue.cc.
References i, NULL, pthread_mutex_lock(), pthread_mutex_unlock(), XrdFfsQueue_create_task(), XrdFfsQueue_free_task(), and XrdFfsQueue_wait_task().
void XrdFfsQueue_wait_task | ( | struct XrdFfsQueueTasks * | task | ) |
Definition at line 102 of file XrdFfsQueue.cc.
References XrdFfsQueueTasks::cond, XrdFfsQueueTasks::done, XrdFfsQueueTasks::mutex, pthread_cond_wait(), pthread_mutex_lock(), and pthread_mutex_unlock().
Referenced by XrdFfsQueue_remove_workers().