]> git.sur5r.net Git - openldap/commitdiff
Fix prev commit, note *task* not *thread* ...
authorHoward Chu <hyc@openldap.org>
Thu, 11 Jun 2009 05:02:58 +0000 (05:02 +0000)
committerHoward Chu <hyc@openldap.org>
Thu, 11 Jun 2009 05:02:58 +0000 (05:02 +0000)
libraries/libldap_r/tpool.c

index 7e841898f52d2a0b91cf01dcc2a126e03ea110ce..17061a3744e4109f160e42e0066f68c851a1df4e 100644 (file)
@@ -373,8 +373,8 @@ ldap_pvt_thread_pool_submit (
        return(-1);
 }
 
-/* Cancel a pending thread that was previously submitted.
- * Return 1 if the thread was successfully cancelled, 0 if
+/* Cancel a pending task that was previously submitted.
+ * Return 1 if the task was successfully cancelled, 0 if
  * not found, -1 for invalid parameters
  */
 int
@@ -402,9 +402,10 @@ ldap_pvt_thread_pool_retract (
                                ldap_int_thread_task_s, ltt_next.q);
                        LDAP_SLIST_INSERT_HEAD(&pool->ltp_free_list, task,
                                ltt_next.l);
-                       return 1;
+                       break;
                }
-       return 0;
+       ldap_pvt_thread_mutex_unlock(&pool->ltp_mutex);
+       return task != NULL;
 }
 
 /* Set max #threads.  value <= 0 means max supported #threads (LDAP_MAXTHR) */