X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fexit%2Fat_quick_exit.c;h=4079b242cf7dc40b550208f28b7a52d2390dd99f;hb=736a950b3d4f476018d2909302be6d150530df50;hp=85c3d26ef4fccd9ba97233e50d3bf4ffdad61425;hpb=b5289fd749bc4d2637610d712f8fe650f214f1d5;p=musl diff --git a/src/exit/at_quick_exit.c b/src/exit/at_quick_exit.c index 85c3d26e..4079b242 100644 --- a/src/exit/at_quick_exit.c +++ b/src/exit/at_quick_exit.c @@ -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; }