[asterisk-bugs] [JIRA] (ASTERISK-20532) AGI script fork()s, Asterisk doesn't keep processing the dialplan when parent dies

Rusty Newton (JIRA) noreply at issues.asterisk.org
Tue Nov 6 18:21:21 CST 2012


     [ https://issues.asterisk.org/jira/browse/ASTERISK-20532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rusty Newton updated ASTERISK-20532:
------------------------------------

    Status: Waiting for Feedback  (was: Triage)

Omri, as far as I can tell this isn't a bug.

Your work around is appropriate and would be the suggested resolution. Right now, Asterisk expects that your script close the connection for dialplan execution to continue.  We would consider the report a suggestion for improvement.

Can you provide a patch for the improvement? Otherwise, as per the [issue guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines#AsteriskIssueGuidelines-Howtorequestafeature] we'll go ahead and close out the issue, and wait for you or someone else to reopen the report with a patch included.
                
> AGI script fork()s, Asterisk doesn't keep processing the dialplan when parent dies
> ----------------------------------------------------------------------------------
>
>                 Key: ASTERISK-20532
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-20532
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_agi
>    Affects Versions: 1.8.13.1
>         Environment: Debian 6 64bits
>            Reporter: Omri Bahumi
>            Assignee: Omri Bahumi
>            Severity: Minor
>         Attachments: agi_problematic.py, agi_workaround.py
>
>
> When an AGI script forks, Asterisk won't keep processing the dialplan when the parent dies.
> By looking at the AGI code I've noticed it waits for an EOF on the stdout file descriptor, and not for the process to die.
> Attached two Python AGI scripts (uses pyst-0.4.38).
> Problematic example: you'll notice the dialplan stops processing until both the parent and child exit (hence closing stdout fd).
> Workaround example: the execution continues when the parent exits and the child closes stdout, not waiting for the entire script execution to terminate.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list