CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2024/12/30 05:12:35
Modified files: sys/kern : uipc_socket.c uipc_socket2.c sys/sys : socketvar.h Log message: The fixed version of previously reverted tcp(4) sockets unsplicing. Rework sorele(), sofree() and soclose() to follow closef(), fdrop() and FRELE() way. This version of sofree() never sleeps, but calls sorele() after finished it's part of destruction. sorele() destroys socket if the last reference was released. As previously, timeout(9) and task(9) reinitialization was replaced by barriers and moved to soclose(), so the only sleep points are common for all socket types. Tests and ok from bluhm.