Subsystems which install an so_upcall may themselves call socket functions
authorMatthew Dillon <dillon@dragonflybsd.org>
Mon, 5 Apr 2004 18:53:03 +0000 (18:53 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Mon, 5 Apr 2004 18:53:03 +0000 (18:53 +0000)
commit129670937c3c5c90fc8f87947a273d215868f610
treef8a0a4f256c494ce2bdeb58be594feb9788fa8a4
parent984ccc17c71dc4d42a732614f7cc5513978f5def
Subsystems which install an so_upcall may themselves call socket functions
from the handler thread, which can lead to deadlocks in lwkt_domsg().

Have the netmsg service loop install its own mp_putport() function which
checks for self-referential messages (curthread == port->mp_td) and executes
them synchronously.
sys/net/netisr.c