use condvar broadcasts to signal threads waiting for an IP, there might be more than one
authorMartin Willi <martin@strongswan.org>
Wed, 30 Jul 2008 13:19:12 +0000 (13:19 -0000)
committerMartin Willi <martin@strongswan.org>
Wed, 30 Jul 2008 13:19:12 +0000 (13:19 -0000)
src/charon/kernel/kernel_interface.c

index 7808110..c8fa6c2 100644 (file)
@@ -952,12 +952,12 @@ static job_requeue_t receive_events(private_kernel_interface_t *this)
                                case RTM_NEWADDR:
                                case RTM_DELADDR:
                                        process_addr(this, hdr, TRUE);
-                                       pthread_cond_signal(&this->cond);
+                                       pthread_cond_broadcast(&this->cond);
                                        break;
                                case RTM_NEWLINK:
                                case RTM_DELLINK:
                                        process_link(this, hdr, TRUE);
-                                       pthread_cond_signal(&this->cond);
+                                       pthread_cond_broadcast(&this->cond);
                                        break;
                                case RTM_NEWROUTE:
                                case RTM_DELROUTE: