ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libcoro/coro.c
(Generate patch)

Comparing libcoro/coro.c (file contents):
Revision 1.47 by root, Fri Jul 17 14:05:00 2009 UTC vs.
Revision 1.48 by root, Fri Jan 29 20:35:23 2010 UTC

223 sigprocmask (SIG_SETMASK, &osig, 0); 223 sigprocmask (SIG_SETMASK, &osig, 0);
224 224
225# elif CORO_LOSER 225# elif CORO_LOSER
226 226
227 coro_setjmp (ctx->env); 227 coro_setjmp (ctx->env);
228 #if __CYGWIN__ 228 #if __CYGWIN__ && __i386
229 ctx->env[8] = (long) coro_init; 229 ctx->env[8] = (long) coro_init;
230 ctx->env[7] = (long) ((char *)sptr + ssize) - sizeof (long); 230 ctx->env[7] = (long) ((char *)sptr + ssize) - sizeof (long);
231 #elif __CYGWIN__ && __x86_64
232 ctx->env[7] = (long) coro_init;
233 ctx->env[6] = (long) ((char *)sptr + ssize) - sizeof (long);
231 #elif defined(__MINGW32__) 234 #elif defined(__MINGW32__)
232 ctx->env[5] = (long) coro_init; 235 ctx->env[5] = (long) coro_init;
233 ctx->env[4] = (long) ((char *)sptr + ssize) - sizeof (long); 236 ctx->env[4] = (long) ((char *)sptr + ssize) - sizeof (long);
234 #elif defined(_M_IX86) 237 #elif defined(_M_IX86)
235 ((_JUMP_BUFFER *)&ctx->env)->Eip = (long) coro_init; 238 ((_JUMP_BUFFER *)&ctx->env)->Eip = (long) coro_init;
236 ((_JUMP_BUFFER *)&ctx->env)->Esp = (long) STACK_ADJUST_PTR (sptr, ssize) - sizeof (long); 239 ((_JUMP_BUFFER *)&ctx->env)->Esp = (long) STACK_ADJUST_PTR (sptr, ssize) - sizeof (long);
237 #elif defined(_M_AMD64) 240 #elif defined(_M_AMD64)
238 ((_JUMP_BUFFER *)&ctx->env)->Rip = (__int64) coro_init; 241 ((_JUMP_BUFFER *)&ctx->env)->Rip = (__int64) coro_init;
239 ((_JUMP_BUFFER *)&ctx->env)->Rsp = (__int64) STACK_ADJUST_PTR (sptr, ssize) - sizeof (long); 242 ((_JUMP_BUFFER *)&ctx->env)->Rsp = (__int64) STACK_ADJUST_PTR (sptr, ssize) - sizeof (__int64);
240 #elif defined(_M_IA64) 243 #elif defined(_M_IA64)
241 ((_JUMP_BUFFER *)&ctx->env)->StIIP = (__int64) coro_init; 244 ((_JUMP_BUFFER *)&ctx->env)->StIIP = (__int64) coro_init;
242 ((_JUMP_BUFFER *)&ctx->env)->IntSp = (__int64) STACK_ADJUST_PTR (sptr, ssize) - sizeof (long); 245 ((_JUMP_BUFFER *)&ctx->env)->IntSp = (__int64) STACK_ADJUST_PTR (sptr, ssize) - sizeof (__int64);
243 #else 246 #else
244 #error "microsoft libc or architecture not supported" 247 #error "microsoft libc or architecture not supported"
245 #endif 248 #endif
246 249
247# elif CORO_LINUX 250# elif CORO_LINUX

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines