diff options
| author | forsyth <forsyth@vitanuova.com> | 2011-02-25 11:03:47 +0000 |
|---|---|---|
| committer | forsyth <forsyth@vitanuova.com> | 2011-02-25 11:03:47 +0000 |
| commit | 1343b7e5fc7e671a93eb5ed909dde7bb5f6c87cf (patch) | |
| tree | 3b2191854e8b2a5f50de592b39eb1c279b902503 /emu/Nt/os.c | |
| parent | d7b19496d84ff3d0b03eac8f31bdf59287c70065 (diff) | |
20110225-1104
Diffstat (limited to 'emu/Nt/os.c')
| -rw-r--r-- | emu/Nt/os.c | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/emu/Nt/os.c b/emu/Nt/os.c index ad6943be..c489d9e0 100644 --- a/emu/Nt/os.c +++ b/emu/Nt/os.c @@ -116,7 +116,7 @@ tramp(LPVOID p) return 0; } -int +void kproc(char *name, void (*func)(void*), void *arg, int flags) { DWORD h; @@ -126,16 +126,11 @@ 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"); p->os = CreateEvent(NULL, FALSE, FALSE, NULL); - if(p->os == NULL){ - pfree(p); - print("can't allocate os event\n"); - return -1; - } + if(p->os == NULL) + panic("can't allocate os event"); if(flags & KPDUPPG) { pg = up->env->pgrp; @@ -173,12 +168,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) |
