Page MenuHomeFreeBSD

D15706.id43458.diff
No OneTemporary

D15706.id43458.diff

Index: sys/kern/uipc_socket.c
===================================================================
--- sys/kern/uipc_socket.c
+++ sys/kern/uipc_socket.c
@@ -1101,6 +1101,8 @@
drop:
if (so->so_proto->pr_usrreqs->pru_close != NULL)
(*so->so_proto->pr_usrreqs->pru_close)(so);
+ if (so->so_dtor != NULL)
+ so->so_dtor(so);
SOCK_LOCK(so);
if ((listening = (so->so_options & SO_ACCEPTCONN))) {
Index: sys/sys/socketvar.h
===================================================================
--- sys/sys/socketvar.h
+++ sys/sys/socketvar.h
@@ -111,6 +111,7 @@
int so_ts_clock; /* type of the clock used for timestamps */
uint32_t so_max_pacing_rate; /* (f) TX rate limit in bytes/s */
+ void (*so_dtor)(struct socket *so); /* (a) optional destructor */
union {
/* Regular (data flow) socket. */
struct {

File Metadata

Mime Type
text/plain
Expires
Mon, Dec 23, 6:01 AM (2 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15567520
Default Alt Text
D15706.id43458.diff (822 B)

Event Timeline