summaryrefslogtreecommitdiff
path: root/lib/event.c
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2022-02-01 09:45:50 +0100
committerMaria Matejka <mq@ucw.cz>2022-02-03 10:30:33 +0100
commit8447b24e59bcb6bf1f5d0c2a00880b74bde748fd (patch)
tree853d6b6626356b512319055289cf0fba6417465b /lib/event.c
parent127862f626f39d52b758084931e0fbdc91db745c (diff)
Socket cork fixes
Diffstat (limited to 'lib/event.c')
-rw-r--r--lib/event.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/event.c b/lib/event.c
index 766ffa15..10f83c28 100644
--- a/lib/event.c
+++ b/lib/event.c
@@ -283,7 +283,13 @@ void ev_uncork(struct event_cork *ec)
birdloop_ping(el->loop);
}
- UNLOCK_DOMAIN(cork, ec->lock);
+ struct birdsock *sk;
+ WALK_LIST_FIRST2(sk, cork_node, ec->sockets)
+ {
+// log(L_TRACE "Socket %p uncorked", sk);
+ rem_node(&sk->cork_node);
+ sk_ping(sk);
+ }
- birdloop_ping(&main_birdloop);
+ UNLOCK_DOMAIN(cork, ec->lock);
}