Commit ab006391 authored by Ondřej Zajíček's avatar Ondřej Zajíček

Fixes a bug in locking code.

When multiple protocols have a lock for the same IP address, it crashes
under some circumstances.

Thanks to Matthias Schiffer for the bugreport.
parent dfc7a6c6
......@@ -70,7 +70,7 @@ olock_free(resource *r)
DBG("olock: -> %p becomes locked\n", n);
q = SKIP_BACK(struct object_lock, n, n);
rem_node(n);
add_tail_list(&l->waiters, &q->waiters);
add_tail_list(&q->waiters, &l->waiters);
q->state = OLOCK_STATE_EVENT;
add_head(&olock_list, n);
ev_schedule(olock_event);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment