Commit Graph

77 Commits

Author SHA1 Message Date
Klaus Schmidinger 2c74a31afe Added backtrace functions for debugging 2017-06-03 12:43:22 +02:00
Klaus Schmidinger 0af3ed548c Added debug output for checking the correct sequence of locking global lists 2017-05-28 12:47:54 +02:00
Klaus Schmidinger 85ae27e372 The cRwLock class now allows nested read locks within a write lock from the same thread 2016-12-08 10:18:32 +01:00
Klaus Schmidinger 3cd5294d8a Implemented strict locking of global lists 2015-09-01 11:14:27 +02:00
Klaus Schmidinger b95b85fee4 Deleted a superfluous assignment in cPipe::Open() 2013-12-29 17:22:10 +01:00
Klaus Schmidinger 0e4b404102 Changed cThread::SetIOPriority() from "best effort class" to "idle class" in order to improve overall performance when an editing process is running 2013-04-10 15:38:29 +02:00
Klaus Schmidinger b5fefa2f9e Removed empty lines at end of file 2013-02-22 14:52:49 +01:00
Klaus Schmidinger 1e9b16d20b The cThread constructor now has an additional boolean parameter that can be set to true to have this thread run at a lower priority 2012-10-04 12:32:31 +02:00
Klaus Schmidinger 72c03260d7 The new class cIoThrottle is used to allow I/O intense threads to temporarily suspend their activities in case buffers run full 2012-09-22 11:52:33 +02:00
Klaus Schmidinger 06b8fe94ef Renamed the function cString::sprintf(const char *fmt, va_list &ap) to vsprintf() 2012-05-08 11:23:56 +02:00
Klaus Schmidinger 5b57bdebdc Added cThread::SetIOPriority() and using it in cRemoveDeletedRecordingsThread 2009-04-13 13:55:23 +02:00
Klaus Schmidinger 2e66fdd634 Fixed a possible integer overflow in GetAbsTime() 2008-09-06 09:41:15 +02:00
Klaus Schmidinger 2427a1b12c Now setting the thread name, so that it can be seen in 'top -H' 2008-04-13 12:14:58 +02:00
Klaus Schmidinger 9495aa9923 Using cString::sprintf() instead of asprintf() 2008-02-15 14:57:48 +01:00
Klaus Schmidinger 1e4c80799f Improved shutdown handling 2007-10-19 14:37:03 +02:00
Klaus Schmidinger 91ad06409b Fixed some compiler warnings with gcc-4.2.0 2007-08-24 13:18:21 +02:00
Klaus Schmidinger efbb48dbaf Fixed handling detached processes in SystemExec() 2007-06-17 12:45:57 +02:00
Klaus Schmidinger ddb7f33567 Rewrite of shutdown handling; implemented cPlugin::WakeupTime(); SIGHUP forces reload; cThread::EmergencyExit() replaced by ShutdownHandler.RequestEmergencyExit() 2007-02-25 10:56:29 +01:00
Klaus Schmidinger 87dd5139ff CAM handling refactored; multiple recordings with one CAM; automatic CAM selection 2007-01-07 14:46:14 +01:00
Klaus Schmidinger 2d68b323c7 The function cThread::Cancel() now only sets 'running' to false and does not actually kill the thread if the special value -1 is given 2006-09-24 12:54:47 +02:00
Klaus Schmidinger ef01c6d8bb Adapted cThread::ThreadId() to recent kernels 2006-08-20 10:28:35 +02:00
Klaus Schmidinger 1b0ac71a33 Removed a double fdopen() in cPipe::Open() 2006-06-24 10:12:09 +02:00
Klaus Schmidinger 7997b678f2 Removed the call to pthread_setschedparam(childTid, SCHED_RR, 0) in thread.c 2006-06-02 13:54:04 +02:00
Klaus Schmidinger 1fe46dfa9f Fixed format string handling 2006-03-26 09:27:30 +02:00
Klaus Schmidinger be2dbbd938 Now logging the description (if present) in case a thread is canceled 2006-02-12 12:26:06 +01:00
Klaus Schmidinger a919e02de6 Fixed some typos 2006-01-28 11:34:35 +01:00
Klaus Schmidinger f38b7871ad Added a missing #include <linux/unistd.h> to thread.c 2006-01-08 16:05:23 +01:00
Klaus Schmidinger 951b3509ea Using the thread id in the "thread ... won't end" error message 2006-01-04 15:01:22 +01:00
Klaus Schmidinger c01259dbb5 Fixed setting the main thread id if VDR is running as a daemon 2006-01-03 10:20:41 +01:00
Klaus Schmidinger dbc2abadd8 Fixed initializing pthread_mutexattr_t and pthread_rwlockattr_t to avoid warnings with g++ 4.1.0 2006-01-01 14:53:03 +01:00
Klaus Schmidinger 72759ed131 Now using the gettid() syscall to get a thread's pid, so that we get a useful value on NPTL systems 2005-12-11 12:10:28 +01:00
Klaus Schmidinger 41f718987d Implemented message queueing 2005-11-27 15:57:03 +01:00
Klaus Schmidinger af54ce4842 Changed cThread Active() vs. Running() 2005-08-14 11:24:57 +02:00
Klaus Schmidinger ccb0add798 Centralized 'thread active' handling 2005-08-13 13:17:24 +02:00
Klaus Schmidinger e622406342 Added cThread::SetPriority() and using it in cSectionHandler::Action() to reduce the priority of the section handler threads 2005-05-29 11:44:52 +02:00
Klaus Schmidinger 9f7166a891 Fixed timeout handling in cRwLock::Lock() 2005-05-06 14:43:17 +02:00
Klaus Schmidinger 0ad4b2a713 Made cCondWait::SleepMs() sleep at least 3ms to avoid a possible busy wait 2005-01-14 14:08:47 +01:00
Klaus Schmidinger 9a8ef2b6c2 Fixed a race condition in starting a thread 2004-12-19 10:58:20 +01:00
Klaus Schmidinger 5c6ed74aff Fixed the spelling of 'canceling' 2004-11-26 14:18:22 +01:00
Klaus Schmidinger eb8405695b Some more changes to the 'childTid' handling in cThread 2004-11-26 14:05:36 +01:00
Klaus Schmidinger c33dccf9ba Fixed handling childTid in cThread to avoid possible race conditions 2004-11-20 16:27:18 +01:00
Klaus Schmidinger 4f67ade2dc Now calling pthread_cond_broadcast() in the desctructor of cCondWait and cCondVar; using pthread_cond_broadcast() instead of pthread_cond_signal() in cCondWait 2004-10-31 09:54:50 +01:00
Klaus Schmidinger 9f51fcad22 Added cCondWait::Sleep() and using it to replace all usleep() calls 2004-10-24 11:12:05 +02:00
Klaus Schmidinger 70e6038056 Added some checks when cancelling a thread and removed the usleep() in cThread::Start(); removed 'running' from cThread 2004-10-24 10:34:20 +02:00
Klaus Schmidinger 73fde7480a Removed the signal handler and WakeUp() call from cThread 2004-10-24 09:53:12 +02:00
Klaus Schmidinger 6415cc900d Improved buffer handling 2004-10-16 09:36:28 +02:00
Klaus Schmidinger 25154b6245 Fixed a memory leak in thread handling when using NPTL 2004-03-14 16:51:13 +01:00
Klaus Schmidinger 8976ebcec5 Implemented automatic PID switching and channel detection 2004-01-04 12:30:00 +01:00
Klaus Schmidinger 7ff59171e3 Changed section handling; replaced 'libdtv' with 'libsi' 2003-12-22 13:29:24 +01:00
Klaus Schmidinger e7b6b2fff7 Mutexes are now created with PTHREAD_MUTEX_ERRORCHECK_NP 2003-10-18 13:20:01 +02:00