… | |
… | |
15 | package CFPlus; |
15 | package CFPlus; |
16 | |
16 | |
17 | use Carp (); |
17 | use Carp (); |
18 | |
18 | |
19 | BEGIN { |
19 | BEGIN { |
20 | $VERSION = '0.53'; |
20 | $VERSION = '0.95'; |
21 | |
21 | |
22 | use XSLoader; |
22 | use XSLoader; |
23 | XSLoader::load "CFPlus", $VERSION; |
23 | XSLoader::load "CFPlus", $VERSION; |
24 | } |
24 | } |
25 | |
25 | |
… | |
… | |
105 | |
105 | |
106 | close $fh_w; |
106 | close $fh_w; |
107 | |
107 | |
108 | my $buffer; |
108 | my $buffer; |
109 | |
109 | |
110 | Event->io (fd => $fh_r, poll => 'r', cb => sub { |
110 | my $w; $w = AnyEvent->io (fh => $fh_r, poll => 'r', cb => sub { |
111 | unless (sysread $fh_r, $buffer, 4096, length $buffer) { |
111 | unless (sysread $fh_r, $buffer, 4096, length $buffer) { |
112 | $_[0]->w->cancel; |
112 | undef $w; |
113 | $buffer .= "done\n"; |
113 | $buffer .= "done\n"; |
114 | } |
114 | } |
115 | |
115 | |
116 | while ($buffer =~ s/^(.*)\n//) { |
116 | while ($buffer =~ s/^(.*)\n//) { |
117 | my $line = $1; |
117 | my $line = $1; |