On Thu, Jan 09, 2014 at 04:06:38PM -0500, Darryl L. Pierce wrote: > On Thu, Jan 09, 2014 at 03:19:52PM -0500, Rafael Schloming wrote: > > In the case of the C API getting a PN_INPROGRESS error (-9) from recv is > > expected behaviour if you're in non blocking mode. That just means that > > there is blocking work that was deferred. > > Okay, that explains why it didn't start working until bool was properly > translated to/from Perl. > > Now, another issue that's cropped up with the Perl work is that, if > pn_messenger_work is called with -1 then Perl never gets a message > unless I explicitly kill the sender (I'm using the Python send_async > script to interact with the recv_async.pl Perl script). If I set work to > timeout then it times out but only gets the late (the "die") message.
This morning Ted asked whether Perl uses pthreads or not. The Perl binary links against libpthread.so.0 on Linux, so I assume it's using them. I've tried spawning the actual asynchronous process on its own separate thread and still no joy: the call to work(-1) never returns even when messages are prending. -- Darryl L. Pierce, Sr. Software Engineer @ Red Hat, Inc. Delivering value year after year. Red Hat ranks #1 in value among software vendors. http://www.redhat.com/promo/vendor/
Description: PGP signature