(iom, fdmax, newoutput): Serve no purpose since previous rev., remove
along with code to maintain them. This removes the last uses of io_mask.c io_mask.h; remove them.
This commit is contained in:
parent
c865f885e5
commit
ffcf6bff0f
5 changed files with 2 additions and 210 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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 <stdlib.h>
|
||||
#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);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue