/* $Id$ */
-typedef pthread_t THREAD;
/* Uncomment this if you want to track memory leaks.
* This incurs some overhead, so don't use it unless you're debugging the code!
enum {
SYM_DESIRED_SECTION, /* Used by the MIME parser */
SYM_MA_INFO, /* Handles multipart/alternative */
+ SYM_REPL, /* Used for replication checking */
SYM_MAX
};
struct usersupp usersupp; /* Database record buffers */
struct quickroom quickroom;
+ int state; /* thread state (see CON_ values below) */
+ int kill_me; /* Set to nonzero to flag for termination */
+
char curr_user[32]; /* name of current user */
int logged_in; /* logged in */
int internal_pgm; /* authenticated as internal program */
int nologin; /* not allowed to log in */
char net_node[32];
- THREAD mythread;
- int n_crit; /* number of critical sections open */
int client_socket;
int cs_pid; /* session ID */
- char cs_room[ROOMNAMELEN]; /* current room */
time_t cs_lastupdt; /* time of last update */
time_t lastcmd; /* time of last command executed */
time_t lastidle; /* For computing idle time */
typedef struct CitContext t_context;
+/* Values for CitContext.state */
+enum {
+ CON_IDLE, /* This context is doing nothing */
+ CON_EXECUTING /* This context is bound to a thread */
+};
+
+
#define CS_STEALTH 1 /* stealth mode */
#define CS_CHAT 2 /* chat mode */
#define CS_POSTING 4 /* Posting */
S_DATABASE,
S_NETDB,
S_SUPPMSGMAIN,
+ S_I_WANNA_SELECT,
MAX_SEMAPHORES
};