aboutsummaryrefslogtreecommitdiff
path: root/src/server.h
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2016-03-24 21:45:47 -0400
committerFranklin Wei <git@fwei.tk>2016-03-24 21:45:47 -0400
commiteb8b5907df2cf3c4b593197d40d10e83e6943ee3 (patch)
treee19b5d3ee90e7d29b5975ad05496b2ab1385ad15 /src/server.h
parenta91f858ebaea0f403b2c59773e619086b9198a39 (diff)
downloadnetcosm-eb8b5907df2cf3c4b593197d40d10e83e6943ee3.zip
netcosm-eb8b5907df2cf3c4b593197d40d10e83e6943ee3.tar.gz
netcosm-eb8b5907df2cf3c4b593197d40d10e83e6943ee3.tar.bz2
netcosm-eb8b5907df2cf3c4b593197d40d10e83e6943ee3.tar.xz
fix for drop bug
Diffstat (limited to 'src/server.h')
-rw-r--r--src/server.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/server.h b/src/server.h
index af7e9fc..95e537a 100644
--- a/src/server.h
+++ b/src/server.h
@@ -26,21 +26,29 @@
#include "server_reqs.h"
#include "room.h"
+/* everything the server needs to manage its children */
struct child_data {
- pid_t pid;
- int readpipe[2];
- int outpipe[2];
+ pid_t pid;
- int state;
- room_id room;
- char *user;
+ /* pipes, packet mode */
+ int readpipe[2];
+ int outpipe[2];
- ev_io *io_watcher;
+ /* user state */
+ int state;
+ room_id room;
+ char *user;
+
+ /* libev watchers */
+ ev_io *io_watcher;
ev_child *sigchld_watcher;
+ /* remote IP */
struct in_addr addr;
};
+typedef struct child_data user_t;
+
extern volatile int num_clients;
extern void *child_map;
extern bool are_child;