CVSROOT: /cvs Module name: src Changes by: bl...@cvs.openbsd.org 2013/01/15 04:12:57
Modified files: sys/kern : sys_socket.c uipc_socket.c uipc_socket2.c sys/sys : socketvar.h Log message: Changing the socket buffer flags sb_flags was not interrupt safe as |= and &= are non-atomic operations. To avoid additional locks, put the flags that have to be accessed from interrupt into a separate sb_flagsintr 32 bit integer field. sb_flagsintr is protected by splsoftnet. Input from miod@ deraadt@; OK deraadt@