(io_select, io_init, io_open, io_close, io_output, io_flush, io_write,
io_puts, iom_create, iom_getmask, iom_set, iom_clear, iom_zero): Portability bug: io_select() passed bit_fdmask to select(). This breaks the fd_set abstraction, and works only with the traditional Unix implementation of fd_set. Use fd_set and its operations instead. Remove unused source files. Note: the offending code is currently unsued. But it's a time bomb, and fixing it also replaces a bunch of code by standard library services.
This commit is contained in:
parent
5f4503a3a1
commit
422a8cea73
7 changed files with 49 additions and 321 deletions
|
@ -37,15 +37,14 @@
|
|||
struct io_mask {
|
||||
int what;
|
||||
int maxfd;
|
||||
bit_fdmask readmask;
|
||||
bit_fdmask user_readmask;
|
||||
bit_fdmask writemask;
|
||||
bit_fdmask user_writemask;
|
||||
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 *, bit_fdmask *,
|
||||
bit_fdmask *);
|
||||
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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue