summaryrefslogtreecommitdiff
path: root/signal.c
diff options
context:
space:
mode:
authorKunshan Wang <wks1986@gmail.com>2023-05-15 12:08:00 +0800
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-05-15 15:12:30 +0900
commitc7067ed13d6cbe7fd8ba25418d2881f40fc4cbab (patch)
tree981a317f2e32295f75546884be8e4c028261d3c2 /signal.c
parent8bd4d8867a0222a3c30a0c7ee1f69b06baa8e91a (diff)
downloadruby-c7067ed13d6cbe7fd8ba25418d2881f40fc4cbab.tar.gz
Use the rb_sys_fail_str macro in signal.c
Let signal.c include "internal/error.h" explicitly to ensure that the identifier rb_sys_fail_str in signal.c refers to the macro defined in "internal/error.h" instead of the actual function. That macro reads errno before evaluating its argument. Without this change, the rb_signo2signm(sig) expression in the "trap" function in signal.c will overwrite the errno before the actual rb_sys_fail_str function reads the errno.
Diffstat (limited to 'signal.c')
-rw-r--r--signal.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/signal.c b/signal.c
index b7a8dbe4dd..2487882fdd 100644
--- a/signal.c
+++ b/signal.c
@@ -36,6 +36,7 @@
#include "debug_counter.h"
#include "eval_intern.h"
#include "internal.h"
+#include "internal/error.h"
#include "internal/eval.h"
#include "internal/sanitizers.h"
#include "internal/signal.h"