version 1.15, 2010/01/10 21:47:41 |
version 1.16, 2010/04/03 17:40:33 |
|
|
|
|
#define MAXFDS 100 |
#define MAXFDS 100 |
|
|
extern struct fileops listen_ops, pipe_ops; |
|
|
|
struct timeval file_tv; |
struct timeval file_tv; |
struct filelist file_list; |
struct filelist file_list; |
struct timo *timo_queue; |
struct timo *timo_queue; |
|
|
timo_done(); |
timo_done(); |
} |
} |
|
|
/* |
|
* Close all listening sockets. |
|
* |
|
* XXX: remove this |
|
*/ |
|
void |
|
filelist_unlisten(void) |
|
{ |
|
struct file *f, *fnext; |
|
|
|
for (f = LIST_FIRST(&file_list); f != NULL; f = fnext) { |
|
fnext = LIST_NEXT(f, entry); |
|
if (f->ops == &listen_ops) |
|
file_del(f); |
|
} |
|
} |
|
|
|
unsigned |
unsigned |
file_read(struct file *f, unsigned char *data, unsigned count) |
file_read(struct file *f, unsigned char *data, unsigned count) |
{ |
{ |
|
|
dbg_puts(": closing\n"); |
dbg_puts(": closing\n"); |
} |
} |
#endif |
#endif |
|
if (f->wproc == NULL && f->rproc == NULL) |
|
f->state |= FILE_ZOMB; |
if (!(f->state & (FILE_RINUSE | FILE_WINUSE))) { |
if (!(f->state & (FILE_RINUSE | FILE_WINUSE))) { |
p = f->rproc; |
p = f->rproc; |
if (p) { |
if (p) { |