On 08.04.2009 15:41, Gerald Dachs wrote: > On every start of the vdr I get this error message: > Apr 2 00:33:36 vdr vdr: [2462] ERROR (thread.c,225): Keine Berechtigung > It comes from cThread::SetPriority and seems to be harmless, but annoying. > Is the attached patch the right cure? > > void cThread::SetPriority(int Priority) > { > - if (setpriority(PRIO_PROCESS, 0, Priority)< 0) > + if (setpriority(PRIO_PROCESS, getuid(), Priority)< 0) > LOG_ERROR; > }
This is definitely wrong. setpriority expects a process ID together with PRIO_PROCESS, not an user ID. You could try to use getpid() instead. However, passing 0 as second parameter is officially allowed and is interpreted as the current process too. The cause is more likely that the process is not allowed to set the requested priority. To investigate this, you can dump the old and new priority value to the log files. Looks something like this: (untested) dsyslog("%s thread setpriority %i to %i", Thread->description, getpriority(PRIO_PROCESS, 0), Priority); Cheers, Udo _______________________________________________ vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr