lwp_wait(): don't need to check for process exit, cv_wait_sig() does it.
This commit is contained in:
parent
3d41695df4
commit
bdfa5c0012
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: kern_lwp.c,v 1.233 2020/04/04 20:20:12 thorpej Exp $ */
|
||||
/* $NetBSD: kern_lwp.c,v 1.234 2020/04/19 23:05:04 ad Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2001, 2006, 2007, 2008, 2009, 2019, 2020
|
||||
@ -211,7 +211,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: kern_lwp.c,v 1.233 2020/04/04 20:20:12 thorpej Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: kern_lwp.c,v 1.234 2020/04/19 23:05:04 ad Exp $");
|
||||
|
||||
#include "opt_ddb.h"
|
||||
#include "opt_lockdebug.h"
|
||||
@ -740,13 +740,11 @@ lwp_wait(struct lwp *l, lwpid_t lid, lwpid_t *departed, bool exiting)
|
||||
}
|
||||
|
||||
/*
|
||||
* Break out if the process is exiting, or if all LWPs are
|
||||
* in _lwp_wait(). There are other ways to hang the process
|
||||
* with _lwp_wait(), but the sleep is interruptable so
|
||||
* little point checking for them.
|
||||
* Break out if all LWPs are in _lwp_wait(). There are
|
||||
* other ways to hang the process with _lwp_wait(), but the
|
||||
* sleep is interruptable so little point checking for them.
|
||||
*/
|
||||
if ((p->p_sflag & PS_WEXIT) != 0 ||
|
||||
p->p_nlwpwait == p->p_nlwps) {
|
||||
if (p->p_nlwpwait == p->p_nlwps) {
|
||||
error = EDEADLK;
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user