diff options
author | Diego Giagio <diego@giagio.com> | 2014-01-17 23:20:42 -0200 |
---|---|---|
committer | Diego Giagio <diego@giagio.com> | 2014-01-17 23:20:42 -0200 |
commit | b1b69ac7c1502ec73f5da17c82150186174bf5c9 (patch) | |
tree | 83ed2004e440963d7e347806924f1fec033791a5 /test/test.sh | |
parent | d240328d60dd54dfaec524b4aeed21f45dc3a6dd (diff) | |
download | libevent-b1b69ac7c1502ec73f5da17c82150186174bf5c9.tar.gz |
Implemented EV_CLOSED event for epoll backend (EPOLLRDHUP).
- Added new EV_CLOSED event - detects premature connection close
by clients without the necessity of reading all the pending
data. Does not depend on EV_READ and/or EV_WRITE.
- Added new EV_FEATURE_EARLY_CLOSED feature for epoll.
Must be supported for listening to EV_CLOSED event.
- Added new regression test: test-closed.c
- All regression tests passed (test/regress and test/test.sh)
- strace output of test-closed using EV_CLOSED:
socketpair(PF_LOCAL, SOCK_STREAM, 0, [6, 7]) = 0
sendto(6, "test string\0", 12, 0, NULL, 0) = 12
shutdown(6, SHUT_WR) = 0
epoll_ctl(3, EPOLL_CTL_ADD, 7, {EPOLLRDHUP, {u32=7, u64=7}}) = 0
epoll_wait(3, {{EPOLLRDHUP, {u32=7, u64=7}}}, 32, 3000) = 1
epoll_ctl(3, EPOLL_CTL_MOD, 7, {EPOLLRDHUP, {u32=7, u64=7}}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 4), ...})
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYM...
write(1, "closed_cb: detected connection close "..., 45) = 45
Diffstat (limited to 'test/test.sh')
-rwxr-xr-x | test/test.sh | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/test.sh b/test/test.sh index d16fcde3..2b083ac7 100755 --- a/test/test.sh +++ b/test/test.sh @@ -1,7 +1,7 @@ #!/bin/sh BACKENDS="EVPORT KQUEUE EPOLL DEVPOLL POLL SELECT WIN32" -TESTS="test-eof test-weof test-time test-changelist test-fdleak" +TESTS="test-eof test-closed test-weof test-time test-changelist test-fdleak" FAILED=no TEST_OUTPUT_FILE=${TEST_OUTPUT_FILE:-/dev/null} REGRESS_ARGS=${REGRESS_ARGS:-} |