Kyle R . Burton on Wed, 26 Jun 2002 10:49:13 -0400


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

IPC::Open3 problem...


I'm using IPC::Open3 to exec ssh from a server process.  I have a method
that starts an ssh 'worker' command on a remote host.  The method runs
the worker, sends it a simple message to get back a response that 
indicates that the worker started.  The server then goes on to interact with
the workers.

This works fine when the server starts up.  The server monitors the workers,
and if one gets disconnected, or terminates, it uses the same function it
used a start-up time to restart the worker.  The problem is that when the
server tries to send the initial status request, by writing to the input
handle returned by the open3, it gets a SIGPIPE.  The status message never
reaches the worker, so it never sends back it's ack - and the server thinks
the worker was stillborn so it kills it.

This feature is also supposed to be for adding in new workers at run-time,
which also encounters a SIGPIPE.

It happens both when starting new workers at run-time, as well as when
trying to restart a worker that started successfuly when the server 
originaly started.

I've checked on the remote box and the worker process does restart.  What
I can't figure out is why this works at start-up time, but doesn't work
to restart a worker once the server has been up and running.



Has anyone come across anything similar before?


Thanks,
Kyle



-- 

------------------------------------------------------------------------------
Wisdom and Compassion are inseparable.
        -- Christmas Humphreys
mortis@voicenet.com                            http://www.voicenet.com/~mortis
------------------------------------------------------------------------------
**Majordomo list services provided by PANIX <URL:http://www.panix.com>**
**To Unsubscribe, send "unsubscribe phl" to majordomo@lists.pm.org**