Igor Sysoev
2003-Apr-07 00:52 UTC
MFC: Sync new socket nonblocking/async state with file flags in accept()
Is this MFC needed in RELENG_4 ? ----- tegge 2003/04/04 09:11:16 PST FreeBSD src repository Modified files: (Branch: RELENG_4) sys/kern uipc_syscalls.c Log: MFC: Sync new socket nonblocking/async state with file flags in accept(). PR: 1775 Revision Changes Path 1.65.2.17 +7 -0 src/sys/kern/uipc_syscalls.c ----- I ran the PR 1775 test program on FreeBSD 3.4, 4.2, 4.3, 4.7 with the same result: ----- Socket fcntl options are: 6 O_NONBLOCK = 1 O_APPEND = 0 O_ASYNC = 0 ----- Igor Sysoev http://sysoev.ru/en/
Tor.Egge@cvsup.no.freebsd.org
2003-Apr-07 11:06 UTC
MFC: Sync new socket nonblocking/async state with file flags in accept()
> Is this MFC needed in RELENG_4 ?Yes. It fixes a problem triggered by the mysql ports when compiled with the build option WITH_LINUXTHREADS=yes.> I ran the PR 1775 test program on FreeBSD 3.4, 4.2, 4.3, 4.7 with > the same result:The test program is incomplete. mysql changes the listen socket to nonblocking state after the select() but before the accept(). Without this MFC, the file flags will indicate that the new socket is nonblocking but read() will still block. - Tor Egge