Displaying 1 result from an estimated 1 matches for "sprunlock".
Did you mean:
spinlock
2007 May 02
2
Deadlock when child process is forking?
...ork.c:
> 328 if (p->p_dtrace_helpers != NULL) {
> 329 ASSERT(dtrace_helpers_fork != NULL);
> 330 (*dtrace_helpers_fork)(p, cp);
> 331 }
> 332
> 333 mutex_enter(&p->p_lock);
> 334 p->p_flag &= ~SFORKING;
> 335 sprunlock(p);
As you can see, the parent is sprlock''d. The call to
dtrace_helpers_fork()
ends up at line 13526 in dtrace.c:
> 13526 mutex_enter(&dtrace_lock);
> 13527 ASSERT(from->p_dtrace_helpers != NULL);
> 13528 ASSERT(dtrace_helpers > 0);
So we have "owns sprlo...