(gdb) where
#0 0x00007f74414c2d40 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f7441a08136 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f7441a0859a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00000000004143a7 in main ()
I see a poll with a zero timeout, followed by a failed read on an eventfd and then a 100ms poll with a timeout:
lr-x------ 1 king king 64 Feb 27 09:04 0 -> /dev/null
l-wx------ 1 king king 64 Feb 27 09:04 1 -> /home/king/.xsession-errors
lrwx------ 1 king king 64 Feb 27 09:04 10 -> anon_inode:[eventfd]
lrwx------ 1 king king 64 Feb 27 09:04 11 -> anon_inode:[eventfd]
l-wx------ 1 king king 64 Feb 27 09:04 2 -> /home/king/.xsession-errors
lrwx------ 1 king king 64 Feb 27 09:04 3 -> socket:[13455]
lr-x------ 1 king king 64 Feb 27 09:04 4 -> anon_inode:[eventfd]
l-wx------ 1 king king 64 Feb 27 09:04 5 -> socket:[13460]
l-wx------ 1 king king 64 Feb 27 09:04 6 -> socket:[13249]
lrwx------ 1 king king 64 Feb 27 09:04 7 -> socket:[13251]
lrwx------ 1 king king 64 Feb 27 09:04 8 -> socket:[13592]
lrwx------ 1 king king 64 Feb 27 09:04 9 -> socket:[13600]
I belive the poll in question is:
(gdb) where 64-linux- gnu/libc. so.6 64-linux- gnu/libglib- 2.0.so. 0 64-linux- gnu/libglib- 2.0.so. 0
#0 0x00007f74414c2d40 in poll () from /lib/x86_
#1 0x00007f7441a08136 in ?? () from /lib/x86_
#2 0x00007f7441a0859a in g_main_loop_run () from /lib/x86_
#3 0x00000000004143a7 in main ()
I see a poll with a zero timeout, followed by a failed read on an eventfd and then a 100ms poll with a timeout:
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 6, 0) = 0 (Timeout)
read(4, 0x7fffd02fb220, 16) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(3, 0x15f1ef4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 6, 100) = 0 (Timeout)
The fd's are as follow:
lr-x------ 1 king king 64 Feb 27 09:04 0 -> /dev/null .xsession- errors [eventfd] [eventfd] .xsession- errors [eventfd]
l-wx------ 1 king king 64 Feb 27 09:04 1 -> /home/king/
lrwx------ 1 king king 64 Feb 27 09:04 10 -> anon_inode:
lrwx------ 1 king king 64 Feb 27 09:04 11 -> anon_inode:
l-wx------ 1 king king 64 Feb 27 09:04 2 -> /home/king/
lrwx------ 1 king king 64 Feb 27 09:04 3 -> socket:[13455]
lr-x------ 1 king king 64 Feb 27 09:04 4 -> anon_inode:
l-wx------ 1 king king 64 Feb 27 09:04 5 -> socket:[13460]
l-wx------ 1 king king 64 Feb 27 09:04 6 -> socket:[13249]
lrwx------ 1 king king 64 Feb 27 09:04 7 -> socket:[13251]
lrwx------ 1 king king 64 Feb 27 09:04 8 -> socket:[13592]
lrwx------ 1 king king 64 Feb 27 09:04 9 -> socket:[13600]