ソースを参照

[src][signal]:fix issue with inconsistency between sig_mask and sigaddset implementations when using musl libc

zhangjing 9 ヶ月 前
コミット
fed7c9acda
1 ファイル変更5 行追加1 行削除
  1. 5 1
      src/signal.c

+ 5 - 1
src/signal.c

@@ -30,7 +30,11 @@
 #define DBG_LVL     DBG_WARNING
 #include <rtdbg.h>
 
-#define sig_mask(sig_no)    (1u << sig_no)
+#ifdef RT_USING_MUSLLIBC
+    #define sig_mask(sig_no)    (1u << (sig_no - 1))
+#else
+    #define sig_mask(sig_no)    (1u << sig_no)
+#endif
 #define sig_valid(sig_no)   (sig_no >= 0 && sig_no < RT_SIG_MAX)
 
 static struct rt_spinlock _thread_signal_lock = RT_SPINLOCK_INIT;