This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/18493] Infinite loop/deadlock? in __libc_recv (fd=fd at entry=300, buf=buf at entry=0x7f6042880600, n=n at entry=5, flags=-1, flags at entry=258) at ../sysdeps/unix/sysv/linux/x86_64/recv.c:33


https://sourceware.org/bugzilla/show_bug.cgi?id=18493

--- Comment #7 from Dan Searle <dan at censornet dot com> ---
Agreed, it's a kernel bug, it doesn't handle symultanious use of both MSG_PEEK
and MSG_WAITALL flags in recvfrom SYSCALL in certain edge case(s).

I have worked around the issue for now by not using MSG_WAITALL (while still
using MSG_PEEK) with an outer loop around recv() with a sleep() and a counter
to retry the recv() call a set number of times before timing out.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]