Checking Return Codes in Apache2::SubProcess->spawn_proc_prog() - modperl

This is a discussion on Checking Return Codes in Apache2::SubProcess->spawn_proc_prog() - modperl ; 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 ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: Checking Return Codes in Apache2::SubProcess->spawn_proc_prog()

  1. Checking Return Codes in Apache2::SubProcess->spawn_proc_prog()

    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?

    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.

    Thanks for any insight you can provide.

    Eric
    _______________________________________________

    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 office at 1 Churchill Place, London, E14 5HP. This email may relate to or be sent from other members of the Barclays Group.
    _______________________________________________


  2. Re: Checking Return Codes in Apache2::SubProcess->spawn_proc_prog()

    eric.berg@barclayscapital.com 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/...awn_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.



  3. RE: Checking Return Codes in Apache2::SubProcess->spawn_proc_prog()

    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.

    Eric

    > -----Original Message-----
    > From: Fred Moyer [mailto:fred@redhotpenguin.com]
    > 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()
    >
    > eric.berg@barclayscapital.com 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/...rocess.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 office at 1 Churchill Place, London, E14 5HP. This email may relate to or be sent from other members of the Barclays Group.
    _______________________________________________


  4. Re: Checking Return Codes in Apache2::SubProcess->spawn_proc_prog()

    eric.berg@barclayscapital.com 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/g...979c9f343a5a1b

    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:fred@redhotpenguin.com]
    >> 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()
    >>
    >> eric.berg@barclayscapital.com 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/...rocess.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/


+ Reply to Thread