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

Comparing libcoro/coro.c (file contents):
Revision 1.1 by root, Mon Jul 23 17:13:08 2001 UTC vs.
Revision 1.2 by root, Mon Jul 23 22:09:39 2001 UTC

44coro_init (void) 44coro_init (void)
45{ 45{
46 volatile coro_func func = coro_init_func; 46 volatile coro_func func = coro_init_func;
47 volatile void *arg = coro_init_arg; 47 volatile void *arg = coro_init_arg;
48 48
49 coro_transfer (new_coro, create_coro); 49 coro_transfer ((coro_context *)new_coro, (coro_context *)create_coro);
50 50
51 func (arg); 51 func (arg);
52 52
53 /* the new coro returned. bad. just abort() for now */ 53 /* the new coro returned. bad. just abort() for now */
54 abort (); 54 abort ();
61 61
62/* trampoline signal handler */ 62/* trampoline signal handler */
63static void 63static void
64trampoline(int sig) 64trampoline(int sig)
65{ 65{
66 if (setjmp (&(new_coro->env))) 66 if (setjmp (&(((coro_context *)new_coro)->env)))
67 coro_init (); /* start it */ 67 coro_init (); /* start it */
68 else 68 else
69 trampoline_count++; 69 trampoline_count++;
70} 70}
71 71
157 ctx->env[7] = (int)((char *)sptr + ssize); 157 ctx->env[7] = (int)((char *)sptr + ssize);
158 ctx->env[8] = (int)coro; 158 ctx->env[8] = (int)coro;
159 159
160# endif 160# endif
161 161
162 coro_transfer (create_coro, new_coro); 162 coro_transfer ((coro_context *)create_coro, (coro_context *)new_coro);
163 163
164#else 164#else
165error unsupported architecture 165error unsupported architecture
166#endif 166#endif
167} 167}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines