]> git.pond.sub.org Git - empserver/commitdiff
(lwpCreate) [UCONTEXT]: ss_sp is the (base) address of the stack area,
authorMarkus Armbruster <armbru@pond.sub.org>
Wed, 7 Dec 2005 20:39:55 +0000 (20:39 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Wed, 7 Dec 2005 20:39:55 +0000 (20:39 +0000)
not the initial stack pointer.  Fix.  ss_size was wrong as well.
Amazing that this ever worked.

src/lib/lwp/lwp.c

index 13ff851189c83d61ff1e3d5bc73b051a3a064290..f29eaf4b20c0a6beac1cdeede8d9396fdea922ab 100644 (file)
@@ -218,8 +218,8 @@ lwpCreate(int priority, void (*entry)(void *), int stacksz, int flags, char *nam
     lwpReady(newp);
     lwpReady(LwpCurrent);
 #ifdef UCONTEXT
-    usp.ss_sp = sp;
-    usp.ss_size = size;
+    usp.ss_sp = s + redsize;
+    usp.ss_size = stacksz;
     usp.ss_flags = 0;
     lwpInitContext(newp, &usp);        /* architecture-dependent: from arch.c */
 #else  /* UCONTEXT */