ZitatOriginal von heinzelrumpel
Hmm, das würde ich genauer untersuchen.
Das habe ich bei jedem Start, weil ich keine Auswirkungen feststellen kann habe ich immer ganz schnell wieder vergessen, dass ich mir das mal ansehen wollte.
Das hier geht schief:
Code
void cThread::SetPriority(int Priority)
{
if (setpriority(PRIO_PROCESS, 0, Priority) < 0)
LOG_ERROR;
}
Das heißt, der Thread läuft nicht mit der gewünschten Priorität. Ich kann mir kaum vorstellen, dass das die Ursache des Problems ist.
Wenn ich die Manpage von setpriority richtig verstanden habe, dann muss das immer schiefgehen, wenn der vdr nicht unter root läuft. Der zweite Parameter ist die UID von root, die muss aber mit der UID vom Prozess übereinstimmen. Vielleicht wäre es so besser:
Code
void cThread::SetPriority(int Priority)
{
uid_t uid = getuid();
if (setpriority(PRIO_PROCESS, uid, Priority) < 0)
LOG_ERROR;
}
Gerald