venus: Remove dedebug
[openafs.git] / src / rx / rx_server.h
1 /* Application server thread management structures and functions */
2
3 /* A server puts itself on an idle queue for a service using an
4  * instance of the following structure.  When a call arrives, the call
5  * structure pointer is placed in "newcall", the routine to execute to
6  * service the request is placed in executeRequestProc, and the
7  * process is woken up.  The queue entry's address is used for the
8  * sleep/wakeup. If socketp is non-null, then this thread is willing
9  * to become a listener thread. A thread sets *socketp to -1 before
10  * sleeping. If *socketp is not -1 when the thread awakes, it is now
11  * the listener thread for *socketp. When socketp is non-null, tno
12  * contains the server's threadID, which is used to make decisions
13  * in GetCall.
14  */
15
16 struct rx_serverQueueEntry {
17     struct opr_queue entry;
18     struct rx_call *newcall;
19 #ifdef  RX_ENABLE_LOCKS
20     afs_kmutex_t lock;
21     afs_kcondvar_t cv;
22 #endif
23     int tno;
24     osi_socket *socketp;
25 };