summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2006-01-04 15:01:22 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2006-01-04 15:01:22 +0100
commit951b3509eabfbf6ff37aa48e44f6042dc9d8af59 (patch)
tree8e8064e68a4a9cc655440ef3cca0639f5db79022
parent5821c26c5ea45a2d7aecbab4f7b71139961c8baf (diff)
downloadvdr-951b3509eabfbf6ff37aa48e44f6042dc9d8af59.tar.gz
vdr-951b3509eabfbf6ff37aa48e44f6042dc9d8af59.tar.bz2
Using the thread id in the "thread ... won't end" error message
-rw-r--r--thread.c10
-rw-r--r--thread.h3
2 files changed, 8 insertions, 5 deletions
diff --git a/thread.c b/thread.c
index af9834ca..2355e674 100644
--- a/thread.c
+++ b/thread.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: thread.c 1.49 2006/01/03 10:15:54 kls Exp $
+ * $Id: thread.c 1.50 2006/01/04 15:01:22 kls Exp $
*/
#include "thread.h"
@@ -205,6 +205,7 @@ cThread::cThread(const char *Description)
{
active = running = false;
childTid = 0;
+ childThreadId = 0;
description = NULL;
SetDescription(Description);
}
@@ -235,11 +236,12 @@ void cThread::SetDescription(const char *Description, ...)
void *cThread::StartThread(cThread *Thread)
{
+ Thread->childThreadId = ThreadId();
if (Thread->description)
- dsyslog("%s thread started (pid=%d, tid=%d)", Thread->description, getpid(), ThreadId());
+ dsyslog("%s thread started (pid=%d, tid=%d)", Thread->description, getpid(), Thread->childThreadId);
Thread->Action();
if (Thread->description)
- dsyslog("%s thread ended (pid=%d, tid=%d)", Thread->description, getpid(), ThreadId());
+ dsyslog("%s thread ended (pid=%d, tid=%d)", Thread->description, getpid(), Thread->childThreadId);
Thread->running = false;
Thread->active = false;
return NULL;
@@ -297,7 +299,7 @@ void cThread::Cancel(int WaitSeconds)
return;
cCondWait::SleepMs(10);
}
- esyslog("ERROR: thread %ld won't end (waited %d seconds) - canceling it...", childTid, WaitSeconds);
+ esyslog("ERROR: thread %d won't end (waited %d seconds) - canceling it...", childThreadId, WaitSeconds);
}
pthread_cancel(childTid);
childTid = 0;
diff --git a/thread.h b/thread.h
index e9ccdb31..79b11401 100644
--- a/thread.h
+++ b/thread.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: thread.h 1.34 2006/01/03 10:10:32 kls Exp $
+ * $Id: thread.h 1.35 2006/01/04 14:58:16 kls Exp $
*/
#ifndef __THREAD_H
@@ -80,6 +80,7 @@ private:
bool active;
bool running;
pthread_t childTid;
+ tThreadId childThreadId;
cMutex mutex;
char *description;
static tThreadId mainThreadId;