]> git.mikk.net Git - smtpsink/commitdiff
signal "listen condition" when below maximum concurrency.
authorchris mikkelson <chris@mikk.net>
Wed, 29 Apr 2009 16:32:59 +0000 (11:32 -0500)
committerchris mikkelson <chris@mikk.net>
Wed, 29 Apr 2009 16:32:59 +0000 (11:32 -0500)
conn_pool.c

index f631f3bd92ffdb10dbe8e9a8463c1b770d09943c..8a9d4ebe0fe0556d49f4bbf672949dfad4bf699b 100644 (file)
@@ -73,6 +73,7 @@ close_conn(struct conn *c)
        if (pthread_mutex_lock(&cp.cpmtx)) assert(0);
        cp.count --;
        STAILQ_INSERT_HEAD(&cp.c_pool, c, c_list);
+       if (cp.count < cp.limit) pthread_cond_signal(&cp.ac);
        pthread_mutex_unlock(&cp.cpmtx);
 }