diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-10-31 02:26:59 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-10-31 02:26:59 +0100 |
commit | bc2da7891acc79a77de00e89f2fe39660dee228e (patch) | |
tree | 9577341f7113e80512eb4dc53265ef60f7f6044c /src/Daemon/CrashWatcher.cpp | |
parent | d0962176b885a32b1c5aecd5ac3c0d23447c3d09 (diff) | |
download | abrt-bc2da7891acc79a77de00e89f2fe39660dee228e.tar.gz abrt-bc2da7891acc79a77de00e89f2fe39660dee228e.tar.xz abrt-bc2da7891acc79a77de00e89f2fe39660dee228e.zip |
implement abrtd -t TIMEOUT_IN_SEC
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'src/Daemon/CrashWatcher.cpp')
-rw-r--r-- | src/Daemon/CrashWatcher.cpp | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/src/Daemon/CrashWatcher.cpp b/src/Daemon/CrashWatcher.cpp index 94fb9d79..ad3f37ad 100644 --- a/src/Daemon/CrashWatcher.cpp +++ b/src/Daemon/CrashWatcher.cpp @@ -163,18 +163,9 @@ static void* create_report(void* arg) } catch (CABRTException& e) { - if (e.type() == EXCEP_FATAL) - { - set_client_name(NULL); - /* free strduped strings */ - free(thread_data->UUID); - free(thread_data->UID); - free(thread_data->peer); - free(thread_data); - throw e; - } warn_client(e.what()); } + catch (...) {} set_client_name(NULL); /* free strduped strings */ @@ -193,10 +184,12 @@ int CreateReportThread(const char* pUUID, const char* pUID, int force, const cha thread_data->UID = xstrdup(pUID); thread_data->force = force; thread_data->peer = xstrdup(pSender); + //TODO: do we need this? //pthread_attr_t attr; //pthread_attr_init(&attr); //pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); + int r = pthread_create(&thread_data->thread_id, NULL, create_report, thread_data); if (r != 0) { @@ -208,11 +201,9 @@ int CreateReportThread(const char* pUUID, const char* pUID, int force, const cha * or ulimit is exceeded (someone floods us with CreateReport() dbus calls?) */ error_msg("Can't create thread"); + return r; } - else - { - VERB3 log("Thread %llx created", (unsigned long long)thread_data->thread_id); - } + VERB3 log("Thread %llx created", (unsigned long long)thread_data->thread_id); //pthread_attr_destroy(&attr); return r; } |