From 1892ac4b50072992f5214e95609a8c5c51d01a0f Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Wed, 1 Apr 2009 22:55:47 +0000 Subject: 20090401-2354 --- emu/Linux/os.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'emu/Linux/os.c') diff --git a/emu/Linux/os.c b/emu/Linux/os.c index 49aec7e5..b11ec83a 100644 --- a/emu/Linux/os.c +++ b/emu/Linux/os.c @@ -128,7 +128,7 @@ kproc(char *name, void (*func)(void*), void *arg, int flags) if(flags & KPX11){ p->kstack = nil; /* never freed; also up not defined */ - tos = (char*)mallocz(X11STACK, 0) + X11STACK - sizeof(void*); + tos = (char*)mallocz(X11STACK, 0) + X11STACK - sizeof(vlong); }else p->kstack = stackalloc(p, &tos); @@ -291,6 +291,10 @@ cleanexit(int x) void osreboot(char *file, char **argv) { + if(dflag == 0) + termrestore(); + execvp(file, argv); + error("reboot failure"); } void @@ -517,7 +521,7 @@ stackalloc(Proc *p, void **tos) rv = stacklist.free; stacklist.free = *(void **)rv; unlock(&stacklist.l); - *tos = rv + KSTACK - sizeof(void *); + *tos = rv + KSTACK - sizeof(vlong); *(Proc **)rv = p; return rv; } -- cgit v1.2.3