summaryrefslogtreecommitdiff
path: root/src/stdlib/atexit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stdlib/atexit.c')
-rw-r--r--src/stdlib/atexit.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/stdlib/atexit.c b/src/stdlib/atexit.c
index 79b486d0..4e20f993 100644
--- a/src/stdlib/atexit.c
+++ b/src/stdlib/atexit.c
@@ -7,6 +7,9 @@
int atexit(void (*func)(void))
{
struct atexit *ae = &(__stdlib.atexit);
+
+ SIGNAL_SAFE(0);
+
while (ae->nfns == sizeof(ae->fns) / sizeof(ae->fns[0])) {
if (ae->next == NULL) {
ae->next = calloc(1, sizeof(*ae->next));