make inadvertently exposed __h{create,delete,search}_r functions static
[musl] / src / exit / at_quick_exit.c
index 85c3d26..4079b24 100644 (file)
@@ -5,7 +5,7 @@
 
 static void (*funcs[COUNT])(void);
 static int count;
-static int lock[2];
+static volatile int lock[1];
 
 void __funcs_on_quick_exit()
 {
@@ -21,9 +21,10 @@ void __funcs_on_quick_exit()
 
 int at_quick_exit(void (*func)(void))
 {
-       if (count == 32) return -1;
+       int r = 0;
        LOCK(lock);
-       funcs[count++] = func;
+       if (count == 32) r = -1;
+       else funcs[count++] = func;
        UNLOCK(lock);
-       return 0;
+       return r;
 }