diff --git a/src/system/runtime_loader/runtime_loader.c b/src/system/runtime_loader/runtime_loader.c index 97b9fc0f46..7393200fbf 100644 --- a/src/system/runtime_loader/runtime_loader.c +++ b/src/system/runtime_loader/runtime_loader.c @@ -210,7 +210,7 @@ search_executable_in_path_list(const char *name, const char *pathList, } _kern_close(fd); } - + pathListLen = pathListEnd - pathEnd - 1; pathList = pathEnd + 1; } @@ -397,6 +397,14 @@ runtime_loader(void *_args) gProgramArgs->env[i] += relocationOffset; } + if (!strcmp(gProgramArgs->program_path, + "/boot/beos/system/runtime_loader")) { + // TODO: this is a (temporary) work-around for bug #2273 which causes + // the cache's mutex to be locked twice when starting the runtime_loader + // itself. + return 1; + } + #if DEBUG_RLD close(0); open("/dev/console", 0); /* stdin */ close(1); open("/dev/console", 0); /* stdout */