diff options
author | wens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2011-06-25 22:54:55 +0800 |
---|---|---|
committer | wens <wens@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2011-06-25 22:54:55 +0800 |
commit | a4013b2c1068b3078fe2905d62b52c9e5687fd3d (patch) | |
tree | a7c1d13de18f57905fd6d3a83822a921397a6deb | |
parent | 12676d6a4c34ad83f95ccc8bb171dbe7c941a23c (diff) | |
download | pttbbs-a4013b2c1068b3078fe2905d62b52c9e5687fd3d.tar pttbbs-a4013b2c1068b3078fe2905d62b52c9e5687fd3d.tar.gz pttbbs-a4013b2c1068b3078fe2905d62b52c9e5687fd3d.tar.bz2 pttbbs-a4013b2c1068b3078fe2905d62b52c9e5687fd3d.tar.lz pttbbs-a4013b2c1068b3078fe2905d62b52c9e5687fd3d.tar.xz pttbbs-a4013b2c1068b3078fe2905d62b52c9e5687fd3d.tar.zst pttbbs-a4013b2c1068b3078fe2905d62b52c9e5687fd3d.zip |
Use libevent's common timeout optimization
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5361 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | pttbbs/daemon/barebone/server.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/pttbbs/daemon/barebone/server.c b/pttbbs/daemon/barebone/server.c index 2f9bbac1..bfb1c4da 100644 --- a/pttbbs/daemon/barebone/server.c +++ b/pttbbs/daemon/barebone/server.c @@ -32,7 +32,7 @@ #include "server.h" -static const struct timeval timeout = {600, 0}; +static const struct timeval *common_timeout; int split_args(char *line, char ***argp) @@ -79,7 +79,7 @@ setup_client(struct event_base *base, evutil_socket_t fd, struct bufferevent *bev = bufferevent_socket_new(base, fd, BEV_OPT_CLOSE_ON_FREE | BEV_OPT_DEFER_CALLBACKS); bufferevent_setcb(bev, client_read_cb, NULL, client_event_cb, NULL); - bufferevent_set_timeouts(bev, &timeout, &timeout); + bufferevent_set_timeouts(bev, common_timeout, common_timeout); bufferevent_enable(bev, EV_READ|EV_WRITE); } @@ -127,6 +127,9 @@ int main(int argc, char *argv[]) base = event_base_new(); assert(base); + const struct timeval timeout = {600, 0}; + common_timeout = event_base_init_common_timeout(base, &timeout); + if (!inetd) { struct sockaddr sa; int len = sizeof(sa); |