diff --git a/bin/pwait/pwait.1 b/bin/pwait/pwait.1 --- a/bin/pwait/pwait.1 +++ b/bin/pwait/pwait.1 @@ -145,6 +145,10 @@ .Xr wait 1 builtin as it will not clean up any zombies or state in the parent process. +.Pp +.Nm +will ignore it's own pid supplied as a process id to watch as invalid +to avoid deadlock. .Sh HISTORY A .Nm diff --git a/bin/pwait/pwait.c b/bin/pwait/pwait.c --- a/bin/pwait/pwait.c +++ b/bin/pwait/pwait.c @@ -146,6 +146,10 @@ warnx("%s: bad process id", s); continue; } + if (pid == getpid()) { + warnx("%s: skip my own pid", s); + continue; + } for (i = 0; i < nleft; i++) { if (e[i].ident == (uintptr_t)pid) { break;