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:
parent
fe80a8eb68
commit
a731e4103b
1 changed files with 1 additions and 0 deletions
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue