X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fbinary.c;h=dae3cfaa8cf4c66138f1d50af58bf0e02913efba;hb=a8067bafb36f98612767060db856cd6bf36ef940;hp=7175799bf85b3adf07be5a71131051b9453f5bc2;hpb=8bc40333b1401d7616b225945fee53d972c2f418;p=tpg%2Facess2.git diff --git a/Kernel/binary.c b/Kernel/binary.c index 7175799b..dae3cfaa 100644 --- a/Kernel/binary.c +++ b/Kernel/binary.c @@ -2,21 +2,10 @@ * Acess2 * Common Binary Loader */ +#define DEBUG 0 #include #include -#define DEBUG 1 - -#if DEBUG -#else -# undef ENTER -# undef LOG -# undef LEAVE -# define ENTER(...) -# define LOG(...) -# define LEAVE(...) -#endif - // === CONSTANTS === #define BIN_LOWEST MM_USER_MIN // 1MiB #define BIN_GRANUALITY 0x10000 // 64KiB @@ -34,9 +23,10 @@ typedef struct sKernelBin { // === IMPORTS === extern int Proc_Clone(Uint *Err, Uint Flags); -extern void Proc_SetThreadName(char *Name); +extern void Threads_SetName(char *Name); +extern char *Threads_GetName(int ID); +extern void Threads_Exit(int, int); extern Uint MM_ClearUser(); -extern void Proc_Exit(); extern void Proc_StartUser(Uint Entrypoint, Uint *Bases, int ArgC, char **ArgV, char **EnvP, int DataSize); extern tKernelSymbol gKernelSymbols[]; extern void gKernelSymbolsEnd; @@ -146,7 +136,7 @@ int Proc_Execve(char *File, char **ArgV, char **EnvP) strcpy(savedFile, File); // --- Set Process Name - Proc_SetThreadName(File); + Threads_SetName(File); // --- Clear User Address space MM_ClearUser(); @@ -156,8 +146,8 @@ int Proc_Execve(char *File, char **ArgV, char **EnvP) free(savedFile); if(bases[0] == 0) { - Warning("Proc_Execve - Unable to load '%s'", File); - Proc_Exit(); + Warning("Proc_Execve - Unable to load '%s'", Threads_GetName(-1)); + Threads_Exit(0, 0); for(;;); }