cvs commit: src/sys/kern uipc_socket.c

Gleb Smirnoff 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)
    sys/kern             uipc_socket.c 
  Log:
  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
  1.208.2.11  +8 -0      src/sys/kern/uipc_socket.c


More information about the cvs-all mailing list