version 1.20, 2002/06/07 15:17:13
|
version 1.21, 2002/06/07 20:52:13
|
|
|
| |
static Boolean check_time(struct timeval *start, struct timeval *interval); | static Boolean check_time(struct timeval *start, struct timeval *interval); |
| |
|
Boolean operator ==(const ThreadPool & p) |
|
{ |
|
return operator==((const void *)&p); |
|
} |
|
|
|
Boolean operator ==(const void *p) |
|
{ |
|
if((void *)this == p) |
|
return true; |
|
return false; |
|
} |
|
|
|
static void kill_idle_threads(void); |
|
|
private: | private: |
ThreadPool(void); | ThreadPool(void); |
Sint16 _max_threads; | Sint16 _max_threads; |
|
|
DQueue<Thread> _running; | DQueue<Thread> _running; |
DQueue<Thread> _dead; | DQueue<Thread> _dead; |
AtomicInt _dying; | AtomicInt _dying; |
|
|
|
|
static void _sleep_sem_del(void *p); | static void _sleep_sem_del(void *p); |
| |
void _check_deadlock(struct timeval *start) throw(Deadlock); | void _check_deadlock(struct timeval *start) throw(Deadlock); |
|
|
Thread *_init_thread(void) throw(IPCException); | Thread *_init_thread(void) throw(IPCException); |
void _link_pool(Thread *th) throw(IPCException); | void _link_pool(Thread *th) throw(IPCException); |
static PEGASUS_THREAD_RETURN _undertaker(void *); | static PEGASUS_THREAD_RETURN _undertaker(void *); |
|
static DQueue<ThreadPool> _pools; |
}; | }; |
| |
| |