diff options
Diffstat (limited to 'emu/Nt/ie-os.c')
| -rw-r--r-- | emu/Nt/ie-os.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/emu/Nt/ie-os.c b/emu/Nt/ie-os.c index ddf09b57..ee38f2ac 100644 --- a/emu/Nt/ie-os.c +++ b/emu/Nt/ie-os.c @@ -127,7 +127,7 @@ tramp(LPVOID p) return 0; } -int +void kproc(char *name, void (*func)(void*), void *arg, int flags) { DWORD h; @@ -137,10 +137,8 @@ kproc(char *name, void (*func)(void*), void *arg, int flags) Egrp *eg; p = newproc(); - if(p == nil){ - print("out of kernel processes\n"); - return -1; - } + if(p == nil) + panic("out of kernel processes"); if(flags & KPDUPPG) { pg = up->env->pgrp; @@ -178,12 +176,8 @@ kproc(char *name, void (*func)(void*), void *arg, int flags) unlock(&procs.l); p->pid = (int)CreateThread(0, 16384, tramp, p, 0, &h); - if(p->pid <= 0){ - pfree(p); - print("ran out of kernel processes\n"); - return -1; - } - return p->pid; + if(p->pid <= 0) + panic("ran out of kernel processes"); } #if(_WIN32_WINNT >= 0x0400) |
