Ticket #2185: team.cpp.diff
File team.cpp.diff, 1.4 KB (added by , 16 years ago) |
---|
-
src/system/kernel/team.cpp
16 16 #include <OS.h> 17 17 18 18 #include <AutoDeleter.h> 19 #include <FindDirectory.h> 19 20 21 #include <boot_device.h> 20 22 #include <elf.h> 21 23 #include <file_cache.h> 24 #include <fs/KPath.h> 22 25 #include <heap.h> 23 26 #include <int.h> 24 27 #include <kernel.h> … … 1116 1119 free_team_arg(teamArgs); 1117 1120 // the arguments are already on the user stack, we no longer need them in this form 1118 1121 1119 // ToDo: don't use fixed paths! 1120 err = elf_load_user_image("/boot/beos/system/runtime_loader", team, 0, &entry); 1122 // find runtime_loader path 1123 KPath runtimeLoaderPath; 1124 err = find_directory(B_BEOS_SYSTEM_DIRECTORY, gBootDevice, false, 1125 runtimeLoaderPath.LockBuffer(), runtimeLoaderPath.BufferSize()); 1121 1126 if (err < B_OK) { 1127 TRACE(("team_create_thread_start: error when find_directory() %s\n", strerror(err))); 1128 return err; 1129 } 1130 runtimeLoaderPath.UnlockBuffer(); 1131 runtimeLoaderPath.Append("runtime_loader"); 1132 1133 err = elf_load_user_image(runtimeLoaderPath.Path(), team, 0, &entry); 1134 if (err < B_OK) { 1122 1135 // Luckily, we don't have to clean up the mess we created - that's 1123 1136 // done for us by the normal team deletion process 1124 1137 TRACE(("team_create_thread_start: error when elf_load_user_image() %s\n", strerror(err)));