use condvar broadcasts to signal threads waiting for an IP, there might be more than one
[strongswan.git] / 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: