Stick two XXX's in the syscall() code: we call STOPEVENT() twice for

every system call, and that grabs and release the process lock each
time.  Don't fix it (yet), but document it so we know to fix it.
Also should be a 5.3-RELEASE todo item.
This commit is contained in:
Robert Watson 2004-01-27 04:40:19 +00:00
parent 8abaf58586
commit bfd8097a69

View File

@ -1003,6 +1003,10 @@ syscall(frame)
td->td_retval[0] = 0;
td->td_retval[1] = frame.tf_edx;
/*
* XXX: This grabs the process lock. A bad thing in
* the system call path.
*/
STOPEVENT(p, S_SCE, narg);
PTRACESTOP_SC(p, td, S_PT_SCE);
@ -1064,6 +1068,10 @@ syscall(frame)
ktrsysret(code, error, td->td_retval[0]);
#endif
/*
* XXX: This grabs the process lock. A bad thing in
* the system call path.
*/
/*
* This works because errno is findable through the
* register set. If we ever support an emulation where this