From 16fe285ec7112d3a0eb57840cc0e7f58f75bf4ce Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Wed, 7 Dec 2005 20:39:55 +0000 Subject: [PATCH] (lwpCreate) [UCONTEXT]: ss_sp is the (base) address of the stack area, not the initial stack pointer. Fix. ss_size was wrong as well. Amazing that this ever worked. --- src/lib/lwp/lwp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/lwp/lwp.c b/src/lib/lwp/lwp.c index 13ff8511..f29eaf4b 100644 --- a/src/lib/lwp/lwp.c +++ b/src/lib/lwp/lwp.c @@ -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 */