]> code.citadel.org Git - citadel.git/blobdiff - citadel/server.h
* Initial hack of worker-thread rearchitecture. Right now it is successfully
[citadel.git] / citadel / server.h
index 82113952da3b5eec272d77ac60ab4ba2d0ebc861..b693c275dd87d478aac870043574e6f876ab4fd9 100644 (file)
@@ -56,6 +56,8 @@ struct CitContext {
        struct usersupp usersupp;       /* Database record buffers */
        struct quickroom quickroom;
 
+       int state;              /* thread state (see CON_ values below) */
+
        char curr_user[32];     /* name of current user */
        int logged_in;          /* logged in */
        int internal_pgm;       /* authenticated as internal program */
@@ -63,11 +65,8 @@ struct CitContext {
        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 */
@@ -104,6 +103,14 @@ struct CitContext {
 
 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 */
+       CON_DYING               /* This context is being terminated */
+};
+
+
 #define CS_STEALTH     1       /* stealth mode */
 #define CS_CHAT                2       /* chat mode */
 #define CS_POSTING     4       /* Posting */
@@ -154,6 +161,7 @@ enum {
        S_DATABASE,
        S_NETDB,
        S_SUPPMSGMAIN,
+       S_I_WANNA_SELECT,
        MAX_SEMAPHORES
 };