Index: sys/compat/linux/linux_misc.c =================================================================== --- sys/compat/linux/linux_misc.c +++ sys/compat/linux/linux_misc.c @@ -1069,6 +1069,14 @@ */ options |= WEXITED | WTRAPPED; + /* + * As FreeBSD does not have __WALL option bit analogue explicitly set all + * possible option bits to emulate Linux __WALL wait option bit. The same + * for waitid system call. + */ + if ((args->options & __WALL) != 0) + options |= WUNTRACED | WCONTINUED | WLINUXCLONE; + if (args->pid == WAIT_ANY) { idtype = P_ALL; id = 0; @@ -1096,6 +1104,9 @@ options = 0; linux_to_bsd_waitopts(args->options, &options); + if ((args->options & __WALL) != 0) + options |= WEXITED | WTRAPPED | WUNTRACED | + WCONTINUED | WLINUXCLONE; switch (args->idtype) { case LINUX_P_ALL: