[svn-commits] rmudgett: branch 12 r402044 - /branches/12/main/taskprocessor.c
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Fri Oct 25 18:52:15 CDT 2013
Author: rmudgett
Date: Fri Oct 25 18:52:13 2013
New Revision: 402044
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=402044
Log:
taskprocessor: Made use pthread_equal() to compare thread ids.
* Removed another silly use of RAII_VAR(). RAII_VAR() and SCOPED_LOCK()
are not silver bullets that allow you to turn off your brain.
Modified:
branches/12/main/taskprocessor.c
Modified: branches/12/main/taskprocessor.c
URL: http://svnview.digium.com/svn/asterisk/branches/12/main/taskprocessor.c?view=diff&rev=402044&r1=402043&r2=402044
==============================================================================
--- branches/12/main/taskprocessor.c (original)
+++ branches/12/main/taskprocessor.c Fri Oct 25 18:52:13 2013
@@ -232,17 +232,17 @@
ast_taskprocessor_push(listener->tps, default_listener_die, pvt);
- if (pthread_self() == pvt->poll_thread) {
+ ast_assert(pvt->poll_thread != AST_PTHREADT_NULL);
+
+ if (pthread_equal(pthread_self(), pvt->poll_thread)) {
res = pthread_detach(pvt->poll_thread);
if (res != 0) {
- ast_log(LOG_ERROR, "pthread_detach(): %s\n",
- strerror(errno));
+ ast_log(LOG_ERROR, "pthread_detach(): %s\n", strerror(errno));
}
} else {
res = pthread_join(pvt->poll_thread, NULL);
if (res != 0) {
- ast_log(LOG_ERROR, "pthread_join(): %s\n",
- strerror(errno));
+ ast_log(LOG_ERROR, "pthread_join(): %s\n", strerror(errno));
}
}
pvt->poll_thread = AST_PTHREADT_NULL;
@@ -538,18 +538,15 @@
struct ast_taskprocessor_listener *ast_taskprocessor_listener_alloc(const struct ast_taskprocessor_listener_callbacks *callbacks, void *user_data)
{
- RAII_VAR(struct ast_taskprocessor_listener *, listener,
- NULL, ao2_cleanup);
+ struct ast_taskprocessor_listener *listener;
listener = ao2_alloc(sizeof(*listener), taskprocessor_listener_dtor);
-
if (!listener) {
return NULL;
}
listener->callbacks = callbacks;
listener->user_data = user_data;
- ao2_ref(listener, +1);
return listener;
}
More information about the svn-commits
mailing list