DragonFly commits List (threaded) for 2004-06
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/kern lwkt_msgport.c uipc_msg.c uipc_proto.c src/sys/net netisr.c src/sys/sys msgport.h protosw.h src/sys/netproto/atm atm_proto.c
dillon 2004/06/07 00:01:36 PDT
DragonFly src repository
Modified files:
sys/kern lwkt_msgport.c uipc_msg.c uipc_proto.c
sys/net netisr.c
sys/sys msgport.h protosw.h
sys/netproto/atm atm_proto.c
Log:
Recent accept() changes started depending on the protosw->pr_mport field
being non-NULL, but unix domain sockets still used a NULL pr_mport field.
This was causing e.g. XFree86 to panic the system.
Unix domain socket calls must still be executed synchronously in the context
of the originating process in order to access the proc structure (for ucred
and other things).
Implement a special synchronous port (netisr_sync_port) and hook function
for the protosw called sync_soport() and hook it into the unix domain
socket protosw. This port executes netmsg's synchronously and also supports
aborts for predicate messages (used by connect and accept).
The atm protosw also specified NULL which we change to the standard
cpu0_soport().
Remove previous workaround code for NULL mports, since we no longer have
any NULL mports. Remove an assertion in connect2() that was designed to
detect mis-programmed use of the UNIX DOMAIN socket protosw structure.
Original-problem-reported-by: David Rhodus
Revision Changes Path
1.23 +7 -1 src/sys/kern/lwkt_msgport.c
1.12 +0 -66 src/sys/kern/uipc_msg.c
1.4 +3 -3 src/sys/kern/uipc_proto.c
1.17 +65 -1 src/sys/net/netisr.c
1.19 +38 -0 src/sys/sys/msgport.h
1.13 +1 -0 src/sys/sys/protosw.h
1.7 +1 -1 src/sys/netproto/atm/atm_proto.c
http://www.dragonflybsd.org/cvsweb/src/sys/kern/lwkt_msgport.c.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/uipc_msg.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/uipc_proto.c.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/netisr.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/msgport.h.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/protosw.h.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/atm/atm_proto.c.diff?r1=1.6&r2=1.7&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]