]> code.citadel.org Git - citadel.git/blobdiff - citadel/server.h
* Removed all of the thread cancellation cruft that is no longer necessary
[citadel.git] / citadel / server.h
index 94c9fce4ff9b5b848865e92d37abf32f35cd9e21..72dc9f4d647293c588d6865401d2c172633beb1a 100644 (file)
@@ -1,5 +1,4 @@
 /* $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!
@@ -36,6 +35,7 @@ struct CtdlSessData {
 enum {
        SYM_DESIRED_SECTION,            /* Used by the MIME parser */
        SYM_MA_INFO,                    /* Handles multipart/alternative */
+       SYM_REPL,                       /* Used for replication checking */
        SYM_MAX
 };
 
@@ -55,6 +55,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 */
@@ -62,11 +64,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 */
@@ -103,6 +102,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 */
@@ -153,6 +160,7 @@ enum {
        S_DATABASE,
        S_NETDB,
        S_SUPPMSGMAIN,
+       S_I_WANNA_SELECT,
        MAX_SEMAPHORES
 };