diff --git a/include/io_mask.h b/include/io_mask.h deleted file mode 100644 index e3102673..00000000 --- a/include/io_mask.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Empire - A multi-player, client/server Internet based war game. - * Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak, - * Ken Stevens, Steve McClure - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * --- - * - * See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the - * related information and legal notices. It is expected that any future - * projects/authors will amend these files as needed. - * - * --- - * - * io_mask.h: Describes an i/o mask - * - * Known contributors to this file: - * - */ - -#ifndef _IO_MASK_H_ -#define _IO_MASK_H_ - -#include -#ifdef _WIN32 -#include -#endif - -struct io_mask { - int what; - int maxfd; - fd_set *readmask; - fd_set *user_readmask; - fd_set *writemask; - fd_set *user_writemask; -}; - -extern struct io_mask *iom_create(int); -extern void iom_getmask(struct io_mask *, int *, fd_set **, fd_set **); -extern void iom_set(struct io_mask *, int, int); -extern void iom_clear(struct io_mask *, int, int); -extern void iom_zero(struct io_mask *, int); - -#endif /* _IO_MASK_H_ */ diff --git a/src/lib/gen/Makefile b/src/lib/gen/Makefile index 5afd7f69..a5998aa4 100644 --- a/src/lib/gen/Makefile +++ b/src/lib/gen/Makefile @@ -37,13 +37,13 @@ NTLIB = $(SRCDIR)\lib\libgen.lib OBJS = atoip.o chance.o copy.o disassoc.o \ emp_config.o getstarg.o getstring.o inet.o io.o \ - io_mask.o ioqueue.o mapdist.o minmax.o numstr.o onearg.o \ + ioqueue.o mapdist.o minmax.o numstr.o onearg.o \ parse.o plur.o queue.o round.o scthash.o \ strdup.o NTOBJS = atoip.obj chance.obj copy.obj disassoc.obj \ emp_config.obj getstarg.obj getstring.obj \ - inet.obj io.obj io_mask.obj ioqueue.obj mapdist.obj minmax.obj \ + inet.obj io.obj ioqueue.obj mapdist.obj minmax.obj \ numstr.obj onearg.obj parse.obj plur.obj queue.obj round.obj \ scthash.obj strdup.obj diff --git a/src/lib/gen/io.c b/src/lib/gen/io.c index ac9aacdd..16547bab 100644 --- a/src/lib/gen/io.c +++ b/src/lib/gen/io.c @@ -58,7 +58,6 @@ #include "misc.h" #include "queue.h" #include "ioqueue.h" -#include "io_mask.h" #include "empio.h" #include "gen.h" /* getfdtablesize */ @@ -66,10 +65,6 @@ extern struct player *player; /* XXX */ -static struct io_mask *iom; -static int fdmax; /* largest file descriptor seen */ -static fd_set newoutput; - struct iop { int fd; struct ioqueue *input; @@ -83,9 +78,6 @@ struct iop { void io_init(void) { - iom = iom_create(IO_READ | IO_WRITE); - fdmax = 0; - FD_ZERO(&newoutput); } struct iop * @@ -114,8 +106,6 @@ io_open(int fd, int flags, int bufsize, int (*notify) (void), iop->flags = flags; iop->assoc = assoc; iop->notify = notify; - iom_set(iom, flags, fd); - if (fd > fdmax) fdmax = fd; return iop; } @@ -127,8 +117,6 @@ io_close(struct iop *iop) ioq_destroy(iop->input); if (iop->output != 0) ioq_destroy(iop->output); - iom_clear(iom, iop->flags, iop->fd); - FD_CLR(iop->fd, &newoutput); #if !defined(_WIN32) (void)close(iop->fd); #else @@ -163,7 +151,6 @@ io_input(struct iop *iop, int waitforinput) /* Some form of file error occurred... */ iop->flags |= IO_ERROR; - iom_clear(iom, IO_READ, iop->fd); return -1; } #else @@ -176,7 +163,6 @@ io_input(struct iop *iop, int waitforinput) /* Some form of file error occurred... */ iop->flags |= IO_ERROR; - iom_clear(iom, IO_READ, iop->fd); return -1; } #endif @@ -220,9 +206,6 @@ io_output(struct iop *iop, int waitforoutput) if (!io_outputwaiting(iop)) return 0; - /* bit clear */ - FD_CLR(iop->fd, &newoutput); - /* If the iop is not write enabled. */ if ((iop->flags & IO_WRITE) == 0) return -1; @@ -246,8 +229,6 @@ io_output(struct iop *iop, int waitforoutput) #endif if (n <= 0) { - /* If we got no elements, we have no output.... */ - iom_clear(iom, IO_WRITE, iop->fd); return 0; } @@ -268,12 +249,9 @@ io_output(struct iop *iop, int waitforoutput) if (errno == EWOULDBLOCK) { /* If there are remaining bytes, set the IO as remaining.. */ remain = ioq_qsize(iop->output); - if (remain > 0) - iom_set(iom, IO_WRITE, iop->fd); return remain; } iop->flags |= IO_ERROR; - iom_clear(iom, IO_WRITE, iop->fd); return -1; } #else @@ -286,12 +264,9 @@ io_output(struct iop *iop, int waitforoutput) if (err == WSAEWOULDBLOCK) { /* If there are remaining bytes, set the IO as remaining.. */ remain = ioq_qsize(iop->output); - if (remain > 0) - iom_set(iom, IO_WRITE, iop->fd); return remain; } iop->flags |= IO_ERROR; - iom_clear(iom, IO_WRITE, iop->fd); return -1; } #endif @@ -306,8 +281,6 @@ io_output(struct iop *iop, int waitforoutput) #else if (cc == 0) { remain = ioq_qsize(iop->output); - if (remain > 0) - iom_set(iom, IO_WRITE, iop->fd); return remain; } #endif /* hpux */ @@ -315,13 +288,6 @@ io_output(struct iop *iop, int waitforoutput) /* Remove the number of written bytes from the queue. */ ioq_dequeue(iop->output, cc); - /* If the queue has stuff remaining, set it still needing output. */ - remain = ioq_qsize(iop->output); - if (remain == 0) { - iom_clear(iom, IO_WRITE, iop->fd); - } else { - iom_set(iom, IO_WRITE, iop->fd); - } return cc; } @@ -354,7 +320,6 @@ io_write(struct iop *iop, s_char *buf, int nbytes, int doWait) if ((iop->flags & IO_WRITE) == 0) return -1; ioq_append(iop->output, buf, nbytes); - FD_SET(iop->fd, &newoutput); len = ioq_qsize(iop->output); if (len > iop->bufsize) { if (doWait) { @@ -392,7 +357,6 @@ io_puts(struct iop *iop, s_char *buf) { if ((iop->flags & IO_WRITE) == 0) return -1; - FD_SET(iop->fd, &newoutput); return ioq_puts(iop->output, buf); } diff --git a/src/lib/gen/io_mask.c b/src/lib/gen/io_mask.c deleted file mode 100644 index 457472bf..00000000 --- a/src/lib/gen/io_mask.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Empire - A multi-player, client/server Internet based war game. - * Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak, - * Ken Stevens, Steve McClure - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * --- - * - * See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the - * related information and legal notices. It is expected that any future - * projects/authors will amend these files as needed. - * - * --- - * - * iom.c: implements the io mask routines - * - * Known contributors to this file: - * - */ - -#include -#include "misc.h" -#include "empio.h" -#include "io_mask.h" - -struct io_mask * -iom_create(int what) -{ - struct io_mask *imp; - - imp = (struct io_mask *)malloc(sizeof(*imp)); - if (what & IO_READ) { - imp->readmask = malloc(sizeof(*imp->readmask)); - FD_ZERO(imp->readmask); - imp->user_readmask = malloc(sizeof(*imp->user_readmask)); - FD_ZERO(imp->user_readmask); - } else { - imp->readmask = 0; - imp->user_readmask = 0; - } - if (what & IO_WRITE) { - imp->writemask = malloc(sizeof(*imp->writemask)); - FD_ZERO(imp->writemask); - imp->user_writemask = malloc(sizeof(*imp->user_writemask)); - FD_ZERO(imp->user_writemask); - } else { - imp->writemask = 0; - imp->user_writemask = 0; - } - imp->what = what; - imp->maxfd = 0; - return imp; -} - -void -iom_getmask(struct io_mask *mask, - int *maxfdp, fd_set **readp, fd_set **writep) -{ - if (mask->what & IO_READ) - *mask->user_readmask = *mask->readmask; - if (mask->what & IO_WRITE) - *mask->user_writemask = *mask->writemask; - *readp = mask->user_readmask; - *writep = mask->user_writemask; - *maxfdp = mask->maxfd; -} - -void -iom_set(struct io_mask *mask, int what, int fd) -{ - if ((mask->what & what) == 0) - return; - if (what & IO_READ) - FD_SET(fd, mask->readmask); - if (what & IO_WRITE) - FD_SET(fd, mask->writemask); - if (fd > mask->maxfd) - mask->maxfd = fd; -} - -void -iom_clear(struct io_mask *mask, int what, int fd) -{ - if ((mask->what & what) == 0) - return; - if (what & IO_READ) - FD_CLR(fd, mask->readmask); - if (what & IO_WRITE) - FD_CLR(fd, mask->writemask); -} - -void -iom_zero(struct io_mask *mask, int what) -{ - if ((mask->what & what) == 0) - return; - if (what & IO_READ) - FD_ZERO(mask->readmask); - if (what & IO_WRITE) - FD_ZERO(mask->writemask); -} diff --git a/src/lib/player/accept.c b/src/lib/player/accept.c index 787da8dd..bddc3e48 100644 --- a/src/lib/player/accept.c +++ b/src/lib/player/accept.c @@ -37,7 +37,6 @@ #include "empthread.h" #include "player.h" #include "file.h" -#include "io_mask.h" #include "empio.h" #include "power.h" #include "common.h"