--- AnyEvent-Fork-RPC/RPC.pm 2013/04/18 13:11:12 1.14 +++ AnyEvent-Fork-RPC/RPC.pm 2013/04/18 20:27:02 1.19 @@ -2,6 +2,8 @@ AnyEvent::Fork::RPC - simple RPC extension for AnyEvent::Fork +THE API IS NOT FINISHED, CONSIDER THIS A TECHNOLOGY DEMO + =head1 SYNOPSIS use AnyEvent::Fork::RPC; @@ -14,6 +16,8 @@ "MyModule::server", ); + use AnyEvent; + my $cv = AE::cv; $rpc->(1, 2, 3, sub { @@ -374,7 +378,9 @@ allows a single RPC call to execute concurrently. Setting C to a true value switches to another implementation that -uses L in the child and allows multiple concurrent RPC calls. +uses L in the child and allows multiple concurrent RPC calls (it +does not support recursion in the event loop however, blocking condvar +calls will fail). The actual API in the child is documented in the section that describes the calling semantics of the returned C<$rpc> function. @@ -559,7 +565,8 @@ my $guard = Guard::guard { $shutdown = 1; - $ww ||= $fh && AE::io $fh, 1, $wcb; + + shutdown $fh, 1 if $fh && !$ww; }; my $id; @@ -695,6 +702,8 @@ problems. Alternatively, the parent could limit the amount of rpc calls that are outstanding. +Blocking use of condvars is not supported. + Using event-based modules such as L, L, L and so on is easy. @@ -767,8 +776,9 @@ =head1 SEE ALSO -L (to create the processes in the first place), -L (to manage whole pools of processes). +L, to create the processes in the first place. + +L, to manage whole pools of processes. =head1 AUTHOR AND CONTACT INFORMATION