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

Comparing libcoro/coro.c (file contents):
Revision 1.25 by root, Fri Apr 27 19:26:18 2007 UTC vs.
Revision 1.26 by root, Fri Apr 27 19:35:28 2007 UTC

79 volatile coro_func func = coro_init_func; 79 volatile coro_func func = coro_init_func;
80 volatile void *arg = coro_init_arg; 80 volatile void *arg = coro_init_arg;
81 81
82 coro_transfer ((coro_context *)new_coro, (coro_context *)create_coro); 82 coro_transfer ((coro_context *)new_coro, (coro_context *)create_coro);
83 83
84#if HAVE_CFI
85 asm (".cfi_startproc");
86#endif
87 func ((void *)arg); 84 func ((void *)arg);
88#if HAVE_CFI
89 asm (".cfi_endproc");
90#endif
91 85
92 /* the new coro returned. bad. just abort() for now */ 86 /* the new coro returned. bad. just abort() for now */
93 abort (); 87 abort ();
94} 88}
95 89
100/* trampoline signal handler */ 94/* trampoline signal handler */
101static void 95static void
102trampoline (int sig) 96trampoline (int sig)
103{ 97{
104 if (setjmp (((coro_context *)new_coro)->env)) 98 if (setjmp (((coro_context *)new_coro)->env))
99 {
100#if HAVE_CFI
101 asm (".cfi_startproc");
102#endif
105 coro_init (); /* start it */ 103 coro_init (); /* start it */
104#if HAVE_CFI
105 asm (".cfi_endproc");
106#endif
107 }
106 else 108 else
107 trampoline_count++; 109 trampoline_count++;
108} 110}
109 111
110# endif 112# endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines