SystemServer: Remove always-true "if (pid == 0)" check

This code should probably be structured differently to handle things
like children dying, etc. But not right now.

Found by PVS-Studio.
This commit is contained in:
Andreas Kling 2019-08-01 14:08:21 +02:00
parent 673a98258b
commit 1c50dce7d2
Notes: sideshowbarker 2024-07-19 12:57:32 +09:00

View file

@ -1,11 +1,11 @@
#include <AK/Assertions.h>
#include <LibCore/CFile.h>
#include <errno.h>
#include <sched.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
#include <LibCore/CFile.h>
void start_process(const char* prog, int prio)
{
@ -26,25 +26,21 @@ void start_process(const char* prog, int prio)
}
while (true) {
if (pid == 0) {
dbgprintf("Executing for %s... at prio %d\n", prog, prio);
struct sched_param p;
p.sched_priority = prio;
int ret = sched_setparam(pid, &p);
ASSERT(ret == 0);
dbgprintf("Executing for %s... at prio %d\n", prog, prio);
struct sched_param p;
p.sched_priority = prio;
int ret = sched_setparam(pid, &p);
ASSERT(ret == 0);
char* progv[256];
progv[0] = const_cast<char*>(prog);
progv[1] = nullptr;
ret = execv(prog, progv);
if (ret < 0) {
dbgprintf("Exec %s failed! %s", prog, strerror(errno));
continue;
}
break;
} else {
break;
char* progv[256];
progv[0] = const_cast<char*>(prog);
progv[1] = nullptr;
ret = execv(prog, progv);
if (ret < 0) {
dbgprintf("Exec %s failed! %s", prog, strerror(errno));
continue;
}
break;
}
}