diff options
author | Russell Bryant <russell@russellbryant.com> | 2007-05-24 18:30:19 +0000 |
---|---|---|
committer | Russell Bryant <russell@russellbryant.com> | 2007-05-24 18:30:19 +0000 |
commit | 4b3a3fb14c298512ef69e17a710e210de14914fb (patch) | |
tree | 86895556d8f221a39105f4398a54d612fbbd3da8 /main/cdr.c | |
parent | bcd2bd8294408ca2f432747ef2e3073edecec4c1 (diff) |
Add a new API call for creating detached threads. Then, go replace all of the
places in the code where the same block of code for creating detached threads
was replicated. (patch from bbryant)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@65968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/cdr.c')
-rw-r--r-- | main/cdr.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/main/cdr.c b/main/cdr.c index 5886aab07..fb1ce177e 100644 --- a/main/cdr.c +++ b/main/cdr.c @@ -1033,7 +1033,6 @@ static void *do_batch_backend_process(void *data) void ast_cdr_submit_batch(int shutdown) { struct ast_cdr_batch_item *oldbatchitems = NULL; - pthread_attr_t attr; pthread_t batch_post_thread = AST_PTHREADT_NULL; /* if there's no batch, or no CDRs in the batch, then there's nothing to do */ @@ -1053,16 +1052,13 @@ void ast_cdr_submit_batch(int shutdown) ast_log(LOG_DEBUG, "CDR single-threaded batch processing begins now\n"); do_batch_backend_process(oldbatchitems); } else { - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - if (ast_pthread_create_background(&batch_post_thread, &attr, do_batch_backend_process, oldbatchitems)) { + if (ast_pthread_create_detached_background(&batch_post_thread, NULL, do_batch_backend_process, oldbatchitems)) { ast_log(LOG_WARNING, "CDR processing thread could not detach, now trying in this thread\n"); do_batch_backend_process(oldbatchitems); } else { if (option_debug) ast_log(LOG_DEBUG, "CDR multi-threaded batch processing begins now\n"); } - pthread_attr_destroy(&attr); } } |