cvs commit: src/sys/kern uipc_socket.c
glebius at FreeBSD.org
Sat Feb 19 20:56:08 GMT 2005
glebius 2005-02-19 20:56:08 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_5)
Apply a workaround for problem fixed in sys/socketvar.h rev. 1.137. We
can't MFC socketvar.h since it will break ABI between kernel and several
modules. This workaround saves sb_state in local variable and restores
it after bzero().
Original commit log of socketvar.h and problem description:
Move sb_state to the beginning of structure, above sb_startzero member.
sb_state shouldn't be erased, when socket buffer is flushed by sorflush().
When sb_state was bzero'ed, a recently set SBS_CANTRCVMORE flag was cleared.
If a socket was shutdown(SHUT_RD), a subsequent read() would block on it.
Reported by: Ed Maste, Gerrit Nagelhout
Reviewed by: rwatson
Revision Changes Path
18.104.22.168 +8 -0 src/sys/kern/uipc_socket.c
More information about the cvs-src