fix invalid pointer in synccall (multithread setuid, etc.)

the head pointer was not being reset between calls to synccall, so any
use of this interface more than once would build the linked list
incorrectly, keeping the (now invalid) list nodes from the previous
call.
This commit is contained in:
Rich Felker 2013-09-02 15:06:46 -04:00
parent fe80a8eb68
commit a731e4103b

View File

@ -58,6 +58,7 @@ void __synccall(void (*func)(void *), void *ctx)
sem_init(&chaindone, 0, 0);
sem_init(&chainlock, 0, 1);
chainlen = 0;
head = 0;
callback = func;
context = ctx;