]> git.pond.sub.org Git - empserver/blobdiff - include/player.h
Simplify checks whether player thread may sleep
[empserver] / include / player.h
index 8f8eb51b8a9d8aac6783c89c5de60690f6bb5820..6d442e561a71cd64d7cbe68805e5d8851fa6952f 100644 (file)
 #define        CAP             bit(6)
 #define        MONEY           bit(7)
 
+enum player_sleep {
+    PLAYER_SLEEP_NEVER, PLAYER_SLEEP_ON_INPUT, PLAYER_SLEEP_FREELY
+};
+
 struct player {
     struct emp_qelem queue;
     empth_t *proc;
@@ -76,6 +80,7 @@ struct player {
     int simulation;            /* e.g. budget command */
     double dolcost;
     time_t curup;              /* when last input was received */
+    enum player_sleep may_sleep; /* when may thread sleep? */
     int aborted;               /* interrupt cookie or EOF received? */
     int eof;                   /* EOF (cookie or real) received? */
     int recvfail;              /* #recvclient() failures */