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

Comparing libcoro/coro.c (file contents):
Revision 1.52 by root, Fri Apr 2 20:21:21 2010 UTC vs.
Revision 1.54 by root, Fri Dec 3 20:01:34 2010 UTC

210 perror ("sigaction"); 210 perror ("sigaction");
211 abort (); 211 abort ();
212 } 212 }
213 213
214 /* set the new stack */ 214 /* set the new stack */
215 nstk.ss_sp = STACK_ADJUST_PTR (sptr,ssize); /* yes, some platforms (IRIX) get this wrong. */ 215 nstk.ss_sp = STACK_ADJUST_PTR (sptr, ssize); /* yes, some platforms (IRIX) get this wrong. */
216 nstk.ss_size = STACK_ADJUST_SIZE (sptr,ssize); 216 nstk.ss_size = STACK_ADJUST_SIZE (sptr, ssize);
217 nstk.ss_flags = 0; 217 nstk.ss_flags = 0;
218 218
219 if (sigaltstack (&nstk, &ostk) < 0) 219 if (sigaltstack (&nstk, &ostk) < 0)
220 { 220 {
221 perror ("sigaltstack"); 221 perror ("sigaltstack");
402 args.arg = arg; 402 args.arg = arg;
403 args.self = ctx; 403 args.self = ctx;
404 args.main = &nctx; 404 args.main = &nctx;
405 405
406 pthread_attr_init (&attr); 406 pthread_attr_init (&attr);
407#if __UCLIBC__
408 /* exists, but is borked */
409 /*pthread_attr_setstacksize (&attr, (size_t)ssize);*/
410#else
407 pthread_attr_setstack (&attr, sptr, (size_t)ssize); 411 pthread_attr_setstack (&attr, sptr, (size_t)ssize);
412#endif
408 pthread_attr_setscope (&attr, PTHREAD_SCOPE_PROCESS); 413 pthread_attr_setscope (&attr, PTHREAD_SCOPE_PROCESS);
409 pthread_create (&ctx->id, &attr, coro_init, &args); 414 pthread_create (&ctx->id, &attr, coro_init, &args);
410 415
411 coro_transfer (args.main, args.self); 416 coro_transfer (args.main, args.self);
412 } 417 }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines