If the OS fails to execute a ping, does there exist a mechanism for the OS to tell POE about that? And for me to 'notice' such an incident?

I was hoping that checking the return value on a 'post' would do that ... but thus far, no dice (i.e. the box on which my script is running intermittently fails to emit pings, but by script doesn't log anything.)

[...]
    # "Pinger, do a ping and return the results as a pong event.  The
    # address to ping is $addr."
    $result = $kernel->post(  'pinger',
                              'ping',
                              'pong',
                              $addr,
                              $timeout,
                            );
    log_error("Problem pinging $addr: $!") unless $result;
[...]

From http://search.cpan.org/~rcaputo/POE-1.004/lib/POE/Kernel.pm#post_DESTINATION,_EVENT_NAME_[,_PARAMETER_LIST]

"post() returns a Boolean value indicating whether the message was successfully enqueued. If post() returns false, $! is set to explain the failure:"

--sk


Stuart Kendrick wrote:
my favorite pinging application (in-house app, uses POE::Component::Client::Ping) intermittently reports a rash of missed replies. happens roughly the same time each night; the condition lasts for several minutes

Reply via email to