瀏覽代碼

[LibOS] Make parse_clone_flags() show exit signal name for clone()

Isaku Yamahata 6 年之前
父節點
當前提交
040dfb86a9
共有 1 個文件被更改,包括 10 次插入0 次删除
  1. 10 0
      LibOS/shim/src/shim_parser.c

+ 10 - 0
LibOS/shim/src/shim_parser.c

@@ -657,6 +657,16 @@ static void parse_clone_flags (va_list ap)
             flags &= ~all_flags[i].flag;
         }
 
+#define CLONE_SIGNAL_MASK 0xff
+    int exit_signal = flags & CLONE_SIGNAL_MASK;
+    flags &= ~CLONE_SIGNAL_MASK;
+    if (exit_signal) {
+        if (exit_signal >= 0 && exit_signal <= NUM_KNOWN_SIGS)
+            PRINTF("|%s", signal_name(exit_signal));
+        else
+            PRINTF("|[SIG %d]", exit_signal);
+    }
+
     if (flags)
         PRINTF("|0x%x", flags);
 }