https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227259
Bug ID: 227259 Summary: accept() does not wakeup on shutdown()/close() Product: Base System Version: 11.0-STABLE Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: rozhuk...@gmail.com Attachment #192171 text/plain mime type: Created attachment 192171 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=192171&action=edit acc_test.c We have some legacy app that create socket, create thread and in new thread call accept() with this socket. Main thread wait for signals and do shutdown() + close() for socket, then wait until accept thread wakeup and exit, then app exit/create new socket+thread. On FreeBSD 9, 10 - OK. On FreeBSD 11 - thread does not wakeup on shutdown() and close(). FreeBSD 10: cc acc_test.c -O0 -DDEBUG -DACCT_CLOSE -pthread -o acc_test - HANG cc acc_test.c -O0 -DDEBUG -DACCT_CLOSE -DACCT_SELECT -pthread -o acc_test - HANG cc acc_test.c -O0 -DDEBUG -DACCT_CLOSE -DACCT_SELECT -DACCT_NONBLOCK -pthread -o acc_test - HANG cc acc_test.c -O0 -DDEBUG -DACCT_CLOSE -DACCT_POLL -pthread -o acc_test - OK cc acc_test.c -O0 -DDEBUG -DACCT_CLOSE -DACCT_POLL -DACCT_NONBLOCK -pthread -o acc_test - OK cc acc_test.c -O0 -DDEBUG -DACCT_SHUTDOWN -pthread -o acc_test - OK cc acc_test.c -O0 -DDEBUG -DACCT_SHUTDOWN -DACCT_SELECT -pthread -o acc_test - HANG cc acc_test.c -O0 -DDEBUG -DACCT_SHUTDOWN -DACCT_SELECT -DACCT_NONBLOCK -pthread -o acc_test - HANG cc acc_test.c -O0 -DDEBUG -DACCT_SHUTDOWN -DACCT_POLL -pthread -o acc_test - OK cc acc_test.c -O0 -DDEBUG -DACCT_SHUTDOWN -DACCT_POLL -DACCT_NONBLOCK -pthread -o acc_test - OK FreeBSD 11: cc acc_test.c -O0 -DDEBUG -DACCT_CLOSE -pthread -o acc_test - HANG cc acc_test.c -O0 -DDEBUG -DACCT_CLOSE -DACCT_SELECT -pthread -o acc_test - HANG cc acc_test.c -O0 -DDEBUG -DACCT_CLOSE -DACCT_SELECT -DACCT_NONBLOCK -pthread -o acc_test - HANG cc acc_test.c -O0 -DDEBUG -DACCT_CLOSE -DACCT_POLL -pthread -o acc_test - OK cc acc_test.c -O0 -DDEBUG -DACCT_CLOSE -DACCT_POLL -DACCT_NONBLOCK -pthread -o acc_test - OK cc acc_test.c -O0 -DDEBUG -DACCT_SHUTDOWN -pthread -o acc_test - HANG cc acc_test.c -O0 -DDEBUG -DACCT_SHUTDOWN -DACCT_SELECT -pthread -o acc_test - HANG cc acc_test.c -O0 -DDEBUG -DACCT_SHUTDOWN -DACCT_SELECT -DACCT_NONBLOCK -pthread -o acc_test - HANG cc acc_test.c -O0 -DDEBUG -DACCT_SHUTDOWN -DACCT_POLL -pthread -o acc_test - HANG cc acc_test.c -O0 -DDEBUG -DACCT_SHUTDOWN -DACCT_POLL -DACCT_NONBLOCK -pthread -o acc_test - HANG Summary FreeBSD 10: poll() + close() poll() + shutdown() accept() + shutdown() FreeBSD 11: poll() + close() -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ freebsd-bugs@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"