Page MenuHomeFreeBSD

D31555.diff
No OneTemporary

D31555.diff

diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -1063,6 +1063,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:

File Metadata

Mime Type
text/plain
Expires
Wed, Nov 20, 8:52 PM (3 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14733392
Default Alt Text
D31555.diff (810 B)

Event Timeline