summaryrefslogtreecommitdiff
path: root/emu/Nt
diff options
context:
space:
mode:
authorforsyth <forsyth@vitanuova.com>2011-02-25 11:03:47 +0000
committerforsyth <forsyth@vitanuova.com>2011-02-25 11:03:47 +0000
commit1343b7e5fc7e671a93eb5ed909dde7bb5f6c87cf (patch)
tree3b2191854e8b2a5f50de592b39eb1c279b902503 /emu/Nt
parentd7b19496d84ff3d0b03eac8f31bdf59287c70065 (diff)
20110225-1104
Diffstat (limited to 'emu/Nt')
-rw-r--r--emu/Nt/ie-os.c16
-rw-r--r--emu/Nt/os.c23
2 files changed, 12 insertions, 27 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)
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)