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

Comparing AnyEvent-Fork/Fork.pm (file contents):
Revision 1.30 by root, Sat Apr 6 09:28:45 2013 UTC vs.
Revision 1.32 by root, Sat Apr 6 09:30:26 2013 UTC

152 152
153 # now $master_filehandle is connected to the 153 # now $master_filehandle is connected to the
154 # $slave_filehandle in the new process. 154 # $slave_filehandle in the new process.
155 }); 155 });
156 156
157MyModule::worker might look like this: 157C<MyModule> might look like this:
158 158
159 package MyModule;
160
159 sub MyModule::worker { 161 sub worker {
160 my ($slave_filehandle) = @_; 162 my ($slave_filehandle) = @_;
161 163
162 # now $slave_filehandle is connected to the $master_filehandle 164 # now $slave_filehandle is connected to the $master_filehandle
163 # in the original prorcess. have fun! 165 # in the original prorcess. have fun!
164 } 166 }
183 } 185 }
184 186
185 # now do other things - maybe use the filehandle provided by run 187 # now do other things - maybe use the filehandle provided by run
186 # to wait for the processes to die. or whatever. 188 # to wait for the processes to die. or whatever.
187 189
188My::Server::run might look like this: 190C<My::Server> might look like this:
189 191
190 sub My::Server::run { 192 package My::Server;
193
194 sub run {
191 my ($slave, $listener, $id) = @_; 195 my ($slave, $listener, $id) = @_;
192 196
193 close $slave; # we do not use the socket, so close it to save resources 197 close $slave; # we do not use the socket, so close it to save resources
194 198
195 # we could go ballistic and use e.g. AnyEvent here, or IO::AIO, 199 # we could go ballistic and use e.g. AnyEvent here, or IO::AIO,
199 } 203 }
200 } 204 }
201 205
202=head2 use AnyEvent::Fork as a faster fork+exec 206=head2 use AnyEvent::Fork as a faster fork+exec
203 207
204This runs /bin/echo hi, with stdout redirected to /tmp/log and stderr to 208This runs C</bin/echo hi>, with stdandard output redirected to /tmp/log
205the communications socket. It is usually faster than fork+exec, but still 209and standard error redirected to the communications socket. It is usually
206let's you prepare the environment. 210faster than fork+exec, but still lets you prepare the environment.
207 211
208 open my $output, ">/tmp/log" or die "$!"; 212 open my $output, ">/tmp/log" or die "$!";
209 213
210 AnyEvent::Fork 214 AnyEvent::Fork
211 ->new 215 ->new

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines