Commit ab006391 authored by Ondrej Zajicek's avatar Ondrej Zajicek
Browse files

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
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);