Displaying 1 result from an estimated 1 matches for "sprlock".
2007 May 02
2
Deadlock when child process is forking?
...pers != 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 sprlock, wants dtrace_lock".
	At the same t...