it either failed, or succeeded but didn't put a status into infop.
ok millert@
-/* $OpenBSD: w_waitid.c,v 1.1 2022/10/26 23:16:24 kettenis Exp $ */
+/* $OpenBSD: w_waitid.c,v 1.2 2022/12/19 03:40:20 guenther Exp $ */
/*
* Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
*
ENTER_CANCEL_POINT(1);
ret = HIDDEN(waitid)(idtype, id, info, options);
- LEAVE_CANCEL_POINT(ret <= 0);
+ LEAVE_CANCEL_POINT(ret == -1 || info->si_signo == 0);
return (ret);
}
DEF_CANCEL(waitid);