ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/Coro/State.xs
(Generate patch)

Comparing Coro/Coro/State.xs (file contents):
Revision 1.186 by root, Fri Oct 5 20:10:42 2007 UTC vs.
Revision 1.189 by root, Fri Oct 5 20:38:43 2007 UTC

132static AV *main_mainstack; /* used to differentiate between $main and others */ 132static AV *main_mainstack; /* used to differentiate between $main and others */
133static JMPENV *main_top_env; 133static JMPENV *main_top_env;
134static HV *coro_state_stash, *coro_stash; 134static HV *coro_state_stash, *coro_stash;
135static SV *coro_mortal; /* will be freed after next transfer */ 135static SV *coro_mortal; /* will be freed after next transfer */
136 136
137static GV *irsgv; /* $/ */ 137static GV *irsgv; /* $/ */
138static GV *stdoutgv; /* *STDOUT */
138 139
139/* async_pool helper stuff */ 140/* async_pool helper stuff */
140static SV *sv_pool_rss; 141static SV *sv_pool_rss;
141static SV *sv_pool_size; 142static SV *sv_pool_size;
142static AV *av_async_pool; 143static AV *av_async_pool;
603 GvSV (PL_defgv) = NEWSV (0, 0); 604 GvSV (PL_defgv) = NEWSV (0, 0);
604 GvAV (PL_defgv) = coro->args; coro->args = 0; 605 GvAV (PL_defgv) = coro->args; coro->args = 0;
605 GvSV (PL_errgv) = NEWSV (0, 0); 606 GvSV (PL_errgv) = NEWSV (0, 0);
606 GvSV (irsgv) = newSVpvn ("\n", 1); sv_magic (GvSV (irsgv), (SV *)irsgv, PERL_MAGIC_sv, "/", 0); 607 GvSV (irsgv) = newSVpvn ("\n", 1); sv_magic (GvSV (irsgv), (SV *)irsgv, PERL_MAGIC_sv, "/", 0);
607 PL_rs = newSVsv (GvSV (irsgv)); 608 PL_rs = newSVsv (GvSV (irsgv));
608 609 PL_defoutgv = SvREFCNT_inc (stdoutgv);
609 {
610 IO *io = newIO ();
611 PL_defoutgv = (GV *)NEWSV (0, 0);
612 gv_init (PL_defoutgv, coro_state_stash, "stdout", sizeof ("stdout") - 1, 0);
613 IoTYPE (io) = IoTYPE_WRONLY;
614 IoOFP (io) = IoIFP (io) = PerlIO_stdout ();
615 IoFLAGS (io) |= IOf_FLUSH;
616 GvIOp (PL_defoutgv) = io;
617 }
618 610
619 { 611 {
620 dSP; 612 dSP;
621 LOGOP myop; 613 LOGOP myop;
622 614
1386#ifdef USE_ITHREADS 1378#ifdef USE_ITHREADS
1387 MUTEX_INIT (&coro_mutex); 1379 MUTEX_INIT (&coro_mutex);
1388#endif 1380#endif
1389 BOOT_PAGESIZE; 1381 BOOT_PAGESIZE;
1390 1382
1391 irsgv = gv_fetchpv ("/", 1, SVt_PV); 1383 irsgv = gv_fetchpv ("/" , GV_ADD, SVt_PV);
1384 stdoutgv = gv_fetchpv ("STDOUT", GV_ADD, SVt_PVIO);
1392 1385
1393 coro_state_stash = gv_stashpv ("Coro::State", TRUE); 1386 coro_state_stash = gv_stashpv ("Coro::State", TRUE);
1394 1387
1395 newCONSTSUB (coro_state_stash, "CC_TRACE" , newSViv (CC_TRACE)); 1388 newCONSTSUB (coro_state_stash, "CC_TRACE" , newSViv (CC_TRACE));
1396 newCONSTSUB (coro_state_stash, "CC_TRACE_SUB" , newSViv (CC_TRACE_SUB)); 1389 newCONSTSUB (coro_state_stash, "CC_TRACE_SUB" , newSViv (CC_TRACE_SUB));

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines