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

Comparing Coro/Coro.pm (file contents):
Revision 1.10 by root, Sun Jul 15 02:36:54 2001 UTC vs.
Revision 1.12 by root, Sun Jul 15 15:58:16 2001 UTC

26 26
27use Coro::State; 27use Coro::State;
28 28
29use base Exporter; 29use base Exporter;
30 30
31$VERSION = 0.04; 31$VERSION = 0.05;
32 32
33@EXPORT = qw(async yield schedule); 33@EXPORT = qw(async yield schedule);
34@EXPORT_OK = qw($current); 34@EXPORT_OK = qw($current);
35 35
36{ 36{
113terminated. 113terminated.
114 114
115=cut 115=cut
116 116
117sub async(&) { 117sub async(&) {
118 (new Coro $_[0])->ready; 118 my $pid = new Coro $_[0];
119 $pid->ready;
120 $pid;
119} 121}
120 122
121=item schedule 123=item schedule
122 124
123Calls the scheduler. Please note that the current process will not be put 125Calls the scheduler. Please note that the current process will not be put
127=cut 129=cut
128 130
129my $prev; 131my $prev;
130 132
131sub schedule { 133sub schedule {
134 local @_;
132 # should be done using priorities :( 135 # should be done using priorities :(
133 ($prev, $current) = ($current, shift @ready || $idle); 136 ($prev, $current) = ($current, shift @ready || $idle);
134 Coro::State::transfer($prev, $current); 137 Coro::State::transfer($prev, $current);
135} 138}
136 139

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines