5025 execve("./test-poll", ["./test-poll"], [/* 13 vars */]) = 0 5025 brk(0) = 0x1695000 5025 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 5025 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8d567a4000 5025 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) 5025 open("/etc/ld.so.cache", O_RDONLY) = 3 5025 fstat(3, {st_mode=S_IFREG|0644, st_size=31935, ...}) = 0 5025 mmap(NULL, 31935, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8d5679c000 5025 close(3) = 0 5025 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 5025 open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY) = 3 5025 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\\\0\0\0\0\0\0"..., 832) = 832 5025 fstat(3, {st_mode=S_IFREG|0755, st_size=140254, ...}) = 0 5025 mmap(NULL, 2217000, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8d56368000 5025 mprotect(0x7f8d56380000, 2097152, PROT_NONE) = 0 5025 mmap(0x7f8d56580000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7f8d56580000 5025 mmap(0x7f8d56582000, 13352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f8d56582000 5025 close(3) = 0 5025 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) 5025 open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY) = 3 5025 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\360\1\0\0\0\0\0"..., 832) = 832 5025 fstat(3, {st_mode=S_IFREG|0755, st_size=1638120, ...}) = 0 5025 mmap(NULL, 3749080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8d55fd4000 5025 mprotect(0x7f8d5615e000, 2093056, PROT_NONE) = 0 5025 mmap(0x7f8d5635d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x7f8d5635d000 5025 mmap(0x7f8d56362000, 21720, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f8d56362000 5025 close(3) = 0 5025 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8d5679b000 5025 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8d56799000 5025 arch_prctl(ARCH_SET_FS, 0x7f8d56799720) = 0 5025 mprotect(0x7f8d5635d000, 16384, PROT_READ) = 0 5025 mprotect(0x7f8d56580000, 4096, PROT_READ) = 0 5025 mprotect(0x601000, 4096, PROT_READ) = 0 5025 mprotect(0x7f8d567a6000, 4096, PROT_READ) = 0 5025 munmap(0x7f8d5679c000, 31935) = 0 5025 set_tid_address(0x7f8d567999f0) = 5025 5025 set_robust_list(0x7f8d56799a00, 0x18) = 0 5025 futex(0x7fff387fcf8c, FUTEX_WAKE_PRIVATE, 1) = 0 5025 futex(0x7fff387fcf8c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7f8d56799720) = -1 EAGAIN (Resource temporarily unavailable) 5025 rt_sigaction(SIGRTMIN, {0x7f8d5636d740, [], SA_RESTORER|SA_SIGINFO, 0x7f8d56377c60}, NULL, 8) = 0 5025 rt_sigaction(SIGRT_1, {0x7f8d5636d7d0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f8d56377c60}, NULL, 8) = 0 5025 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 5025 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 5025 fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 8), ...}) = 0 5025 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8d567a3000 5025 write(1, "Unconnected socket test... ", 27) = 27 5025 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3 5025 bind(3, {sa_family=AF_INET, sin_port=htons(12345), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 5025 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 5025 listen(3, 1) = 0 5025 poll([{fd=3, events=POLLIN|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout) 5025 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 4 5025 fcntl(4, F_GETFL) = 0x2 (flags O_RDWR) 5025 fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 5025 connect(4, {sa_family=AF_INET, sin_port=htons(12345), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress) 5025 poll([{fd=3, events=POLLIN|POLLRDNORM|POLLRDBAND}], 1, -1) = 1 ([{fd=3, revents=POLLIN|POLLRDNORM}]) 5025 poll([{fd=3, events=POLLIN|POLLRDBAND}], 1, 0) = 1 ([{fd=3, revents=POLLIN}]) 5025 poll([{fd=3, events=POLLRDNORM|POLLRDBAND}], 1, 0) = 1 ([{fd=3, revents=POLLRDNORM}]) 5025 accept(3, {sa_family=AF_INET, sin_port=htons(33182), sin_addr=inet_addr("127.0.0.1")}, [16]) = 5 5025 close(3) = 0 5025 close(4) = 0 5025 close(5) = 0 5025 write(1, "passed\n", 7) = 7 5025 write(1, "Connected sockets test... ", 26) = 26 5025 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3 5025 bind(3, {sa_family=AF_INET, sin_port=htons(12345), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 5025 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 5025 listen(3, 1) = 0 5025 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 4 5025 fcntl(4, F_GETFL) = 0x2 (flags O_RDWR) 5025 fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 5025 connect(4, {sa_family=AF_INET, sin_port=htons(12345), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress) 5025 accept(3, {sa_family=AF_INET, sin_port=htons(33183), sin_addr=inet_addr("127.0.0.1")}, [16]) = 5 5025 close(3) = 0 5025 poll([{fd=5, events=POLLIN|POLLOUT|POLLRDNORM|POLLWRNORM|POLLRDBAND}], 1, -1) = 1 ([{fd=5, revents=POLLOUT|POLLWRNORM}]) 5025 poll([{fd=5, events=POLLIN|POLLOUT|POLLRDNORM|POLLRDBAND}], 1, 0) = 1 ([{fd=5, revents=POLLOUT}]) 5025 poll([{fd=5, events=POLLIN|POLLRDNORM|POLLWRNORM|POLLRDBAND}], 1, 0) = 1 ([{fd=5, revents=POLLWRNORM}]) 5025 write(5, "foo", 3) = 3 5025 poll([{fd=4, events=POLLIN|POLLRDNORM}], 1, -1) = 1 ([{fd=4, revents=POLLIN|POLLRDNORM}]) 5025 poll([{fd=4, events=POLLIN}], 1, 0) = 1 ([{fd=4, revents=POLLIN}]) 5025 poll([{fd=4, events=POLLRDNORM}], 1, 0) = 1 ([{fd=4, revents=POLLRDNORM}]) 5025 read(4, "foo", 3) = 3 5025 close(4) = 0 5025 write(5, "foo", 3) = 3 5025 poll([{fd=5, events=POLLIN|POLLOUT}], 1, 0) = 1 ([{fd=5, revents=POLLIN|POLLOUT|POLLERR|POLLHUP}]) 5025 close(5) = 0 5025 write(1, "passed\n", 7) = 7 5025 write(1, "General socket test with fork..."..., 33) = 33 5025 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3 5025 bind(3, {sa_family=AF_INET, sin_port=htons(12345), sin_addr=inet_addr("127.0.0.1")}, 16) = 0 5025 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 5025 listen(3, 1) = 0 5025 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f8d567999f0) = 5026 5025 close(3) = 0 5026 accept(3, 5025 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3 5025 connect(3, {sa_family=AF_INET, sin_port=htons(12345), sin_addr=inet_addr("127.0.0.1")}, 16 5026 <... accept resumed> {sa_family=AF_INET, sin_port=htons(33184), sin_addr=inet_addr("127.0.0.1")}, [16]) = 4 5025 <... connect resumed> ) = 0 5026 close(3 5025 poll([{fd=3, events=POLLOUT|POLLWRNORM|POLLRDBAND}], 1, 0 5026 <... close resumed> ) = 0 5025 <... poll resumed> ) = 1 ([{fd=3, revents=POLLOUT|POLLWRNORM}]) 5026 write(4, "foo", 3 5025 write(3, "foo", 3 5026 <... write resumed> ) = 3 5025 <... write resumed> ) = 3 5026 read(4, 5025 wait4(-1, 5026 <... read resumed> "foo", 3) = 3 5026 shutdown(4, 0 /* receive */) = 0 5026 close(4) = 0 5026 exit_group(0) = ? 5025 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 5026 5025 --- SIGCHLD (Child exited) @ 0 (0) --- 5025 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) 5025 read(3, "foo", 3) = 3 5025 write(3, "foo", 3) = 3 5025 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLIN|POLLOUT|POLLERR|POLLHUP}]) 5025 close(3) = 0 5025 write(1, "passed\n", 7) = 7 5025 write(1, "Pipe test... ", 13) = 13 5025 pipe([3, 4]) = 0 5025 poll([{fd=4, events=POLLIN|POLLOUT|POLLRDNORM|POLLWRNORM|POLLRDBAND}], 1, -1) = 1 ([{fd=4, revents=POLLOUT|POLLWRNORM}]) 5025 poll([{fd=4, events=POLLIN|POLLOUT|POLLRDNORM|POLLRDBAND}], 1, 0) = 1 ([{fd=4, revents=POLLOUT}]) 5025 poll([{fd=4, events=POLLIN|POLLRDNORM|POLLWRNORM|POLLRDBAND}], 1, 0) = 1 ([{fd=4, revents=POLLWRNORM}]) 5025 write(4, "foo", 3) = 3 5025 poll([{fd=3, events=POLLIN|POLLRDNORM}], 1, -1) = 1 ([{fd=3, revents=POLLIN|POLLRDNORM}]) 5025 poll([{fd=3, events=POLLIN}], 1, 0) = 1 ([{fd=3, revents=POLLIN}]) 5025 poll([{fd=3, events=POLLRDNORM}], 1, 0) = 1 ([{fd=3, revents=POLLRDNORM}]) 5025 read(3, "foo", 3) = 3 5025 close(3) = 0 5025 poll([{fd=4, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT|POLLERR}]) 5025 close(4) = 0 5025 write(1, "passed\n", 7) = 7 5025 exit_group(0) = ?