xrootd
Loading...
Searching...
No Matches
XrdFfsQueue.hh
Go to the documentation of this file.
1/******************************************************************************/
2/* XrdFfsQueue.hh functions to run independent tasks in queue */
3/* */
4/* (c) 2010 by the Board of Trustees of the Leland Stanford, Jr., University */
5/* All Rights Reserved */
6/* Author: Wei Yang (SLAC National Accelerator Laboratory, 2009) */
7/* Contract DE-AC02-76-SFO0515 with the Department of Energy */
8/* */
9/* This file is part of the XRootD software suite. */
10/* */
11/* XRootD is free software: you can redistribute it and/or modify it under */
12/* the terms of the GNU Lesser General Public License as published by the */
13/* Free Software Foundation, either version 3 of the License, or (at your */
14/* option) any later version. */
15/* */
16/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
17/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
18/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
19/* License for more details. */
20/* */
21/* You should have received a copy of the GNU Lesser General Public License */
22/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
23/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
24/* */
25/* The copyright holder's institutional names and contributor's names may not */
26/* be used to endorse or promote products derived from this software without */
27/* specific prior written permission of the institution or contributor. */
28/******************************************************************************/
29
30#ifdef __cplusplus
31 extern "C" {
32#endif
33
34#include <pthread.h>
35
37 pthread_mutex_t mutex;
38 pthread_cond_t cond;
39 short done;
40 void* (*func)(void*);
41 void **args;
42
43 unsigned int id;
46};
47
48struct XrdFfsQueueTasks* XrdFfsQueue_create_task(void* (*func)(void*), void **args, short initstat);
52
56
57#ifdef __cplusplus
58 }
59#endif
60
void XrdFfsQueue_free_task(struct XrdFfsQueueTasks *task)
int XrdFfsQueue_remove_workers(int n)
struct XrdFfsQueueTasks * XrdFfsQueue_create_task(void *(*func)(void *), void **args, short initstat)
int XrdFfsQueue_count_workers()
int XrdFfsQueue_create_workers(int n)
unsigned int XrdFfsQueue_count_tasks()
void XrdFfsQueue_wait_task(struct XrdFfsQueueTasks *task)
Definition XrdFfsQueue.hh:36
void ** args
Definition XrdFfsQueue.hh:41
pthread_cond_t cond
Definition XrdFfsQueue.hh:38
unsigned int id
Definition XrdFfsQueue.hh:43
struct XrdFfsQueueTasks * prev
Definition XrdFfsQueue.hh:45
struct XrdFfsQueueTasks * next
Definition XrdFfsQueue.hh:44
pthread_mutex_t mutex
Definition XrdFfsQueue.hh:37
void *(* func)(void *)
Definition XrdFfsQueue.hh:40
short done
Definition XrdFfsQueue.hh:39