[EMAIL PROTECTED] wrote:
Am I missing something, Fred, or is there actually something in that
test that indicates how to read the exit status of the process (i.e.,
$?)?
I have read this a number of times, but have yet to find anything
relevant there.
The short answer is no, spawn_proc_proc() does not return the exit status.
The long answer is you can probably do this with mod_perl if you dig
into the APR libraries and use apr_proc_wait to call the program:
http://apr.apache.org/docs/apr/1.2/group__apr__thread__proc.html#g0936f7a7fe7e2d5e08979c9f343a5a1b
Several of the apr functions are mapped in the mod_perl-2.0/xs/APR
directory. Unfortunately apr_proc_wait is not one of them, perhaps
APR::Proc is the right place to expose this function? (Gozer|Toersten??)
I'll defer to the wisdom of others on this list who are more
experienced in this area.
Hope that helps a bit - it looks like it can be done but just hasn't
been done yet. If you are at ApacheCon next month feel free to track me
down and I'll see if maybe we can hack it into place.
Eric
-----Original Message-----
From: Fred Moyer [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 08, 2008 12:46 PM
To: Berg, Eric
Cc: modperl@perl.apache.org
Subject: Re: Checking Return Codes in
Apache2::SubProcess->spawn_proc_prog()
[EMAIL PROTECTED] wrote:
I'm using spawn_proc_prog() to run external programs from
apache, but
can't find any docs on how to check the return status. It doesn't
appear to set $?, nor have I found any reference to
variables or methods
that would provide that information.
Can anybody help me with this?
Was this part of the documentation useful or did it not
explain what you
need?
http://perl.apache.org/docs/2.0/api/Apache2/SubProcess.html#C_
spawn_proc_prog_
The specific problem that I'm trying to solve has to do
with executing
CVS commands from within the context of Apache2. CVS returns both
STDOUT and STDERR in response to, in this case, the rdiff
command. It
is sometimes possible to check the content of STDERR to
determine the
status of a command, but the STDERR is often valid output.
I suppose
that using the -q to suppress output of nice-to-have STDERR
is an option
too, but I'm looking for something more discrete.
_______________________________________________
This e-mail may contain information that is confidential, privileged or
otherwise protected from disclosure. If you are not an intended recipient of
this e-mail, do not duplicate or redistribute it by any means. Please delete it
and any attachments and notify the sender that you have received it in error.
Unless specifically indicated, this e-mail is not an offer to buy or sell or a
solicitation to buy or sell any securities, investment products or other
financial product or service, an official confirmation of any transaction, or
an official statement of Barclays. Any views or opinions presented are solely
those of the author and do not necessarily represent those of Barclays. This
e-mail is subject to terms available at the following link:
www.barcap.com/emaildisclaimer. By messaging with Barclays you consent to the
foregoing. Barclays Capital is the investment banking division of Barclays
Bank PLC, a company registered in England (number 1026167) with its registered
off
ice at 1 Churchill Place, London, E14 5HP. This email may relate to or be sent
from other members of the Barclays Group.
_______________________________________________
--
Red Hot Penguin Consulting LLC
mod_perl/PostgreSQL consulting and implementation
http://www.redhotpenguin.com/