Commit Graph

70 Commits

Author SHA1 Message Date
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
Klaus Schmidinger e53e43d2b8 The cThread class now accepts a 'Description' parameter 2003-10-18 12:29:08 +02:00
Klaus Schmidinger 15816ee8e4 Changed thread handling to make it work with NPTL 2003-10-18 11:14:33 +02:00
Klaus Schmidinger 435ee39812 Fixed setting the locking pid after a timed wait 2003-05-18 12:46:39 +02:00
Klaus Schmidinger 2cd7928fc6 Removed the (no longer necessary) 'panic' stuff from cThread 2003-05-03 14:08:28 +02:00
Klaus Schmidinger 2e26a1d607 Fixed closing all dup'ed file descriptors in cPipe 2002-11-02 14:00:25 +01:00
Klaus Schmidinger 3540d18855 Improved cCondVar::Wait() and implemented cCondVar::TimedWait() 2002-08-15 11:46:22 +02:00
Klaus Schmidinger a4bfddd2f9 Totally rearranged device/player/recorder structures 2002-06-16 12:57:31 +02:00