Summary: | ASTERISK-03114: Result returning from exec in AGI | ||
Reporter: | Mike Tkachuk (mike_tk) | Labels: | |
Date Opened: | 2004-12-28 14:21:51.000-0600 | Date Closed: | 2011-06-07 14:10:06 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Resources/res_features |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | When I'm, trying to return 1 from any application that I executed over AGI using 'exec' than I will get 0. (200 result=0) ****** ADDITIONAL INFORMATION ****** I think problem in pbx.c, pbx_exec procedure, lines: if (newstack && (res = setjmp(c->jmp[++c->stack]))) { /* Okay, here's where it gets weird. If newstack is non-zero, then we increase the stack increment, but setjmp is not going to return until longjmp is called -- when the application exec'd is finished running. */ > if (res == 1) > res = 0; if (c->stack != stack + 1) ast_log(LOG_WARNING, "Stack returned to an unexpected place!\n"); Or I don't understand meaning of lines 'if (res == 1) res = 0;' :) | ||
Comments: | By: Mark Spencer (markster) 2004-12-28 15:12:33.000-0600 Only certain return values are permitted from applications and they have special meanings. If you want to communicate something like that, use a channel variable instead. |