diff options
author | Damien Miller <djm@mindrot.org> | 2012-04-22 11:21:10 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2012-04-22 11:21:10 +1000 |
commit | a6508753db3c49910068d8fc324bd284d72ff153 (patch) | |
tree | de5d49ef31b5ba61e9086316baf0bd2afb78fd1b /channels.h | |
parent | c6081482b2b72caccce938c100c1b55f7b5e30fe (diff) |
- djm@cvs.openbsd.org 2012/04/11 13:16:19
[channels.c channels.h clientloop.c serverloop.c]
don't spin in accept() when out of fds (ENFILE/ENFILE) - back off for a
while; ok deraadt@ markus@
Diffstat (limited to 'channels.h')
-rw-r--r-- | channels.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/channels.h b/channels.h index 6ed1ce00c..d75b800f7 100644 --- a/channels.h +++ b/channels.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: channels.h,v 1.110 2012/03/29 23:54:36 dtucker Exp $ */ | 1 | /* $OpenBSD: channels.h,v 1.111 2012/04/11 13:16:19 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -105,6 +105,7 @@ struct Channel { | |||
105 | int wfd_isatty; /* wfd is a tty */ | 105 | int wfd_isatty; /* wfd is a tty */ |
106 | int client_tty; /* (client) TTY has been requested */ | 106 | int client_tty; /* (client) TTY has been requested */ |
107 | int force_drain; /* force close on iEOF */ | 107 | int force_drain; /* force close on iEOF */ |
108 | time_t notbefore; /* Pause IO until deadline (time_t) */ | ||
108 | int delayed; /* post-select handlers for newly created | 109 | int delayed; /* post-select handlers for newly created |
109 | * channels are delayed until the first call | 110 | * channels are delayed until the first call |
110 | * to a matching pre-select handler. | 111 | * to a matching pre-select handler. |
@@ -238,7 +239,8 @@ void channel_input_status_confirm(int, u_int32_t, void *); | |||
238 | 239 | ||
239 | /* file descriptor handling (read/write) */ | 240 | /* file descriptor handling (read/write) */ |
240 | 241 | ||
241 | void channel_prepare_select(fd_set **, fd_set **, int *, u_int*, int); | 242 | void channel_prepare_select(fd_set **, fd_set **, int *, u_int*, |
243 | time_t*, int); | ||
242 | void channel_after_select(fd_set *, fd_set *); | 244 | void channel_after_select(fd_set *, fd_set *); |
243 | void channel_output_poll(void); | 245 | void channel_output_poll(void); |
244 | 246 | ||