[asterisk-commits] mnicholson: branch 1.8 r280557 - /branches/1.8/res/res_fax.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Jul 29 16:07:24 CDT 2010


Author: mnicholson
Date: Thu Jul 29 16:07:21 2010
New Revision: 280557

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=280557
Log:
Fix regression introduced in r1664.  Give the fax stack time to shutdown and populate the FAXOPT output variables.

FAX-222

Modified:
    branches/1.8/res/res_fax.c

Modified: branches/1.8/res/res_fax.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/res/res_fax.c?view=diff&rev=280557&r1=280556&r2=280557
==============================================================================
--- branches/1.8/res/res_fax.c (original)
+++ branches/1.8/res/res_fax.c Thu Jul 29 16:07:21 2010
@@ -811,12 +811,17 @@
 	pbx_builtin_setvar_helper(chan, "FAXPAGES", buf);
 }
 
-#define GENERIC_FAX_EXEC_ERROR_QUIET(fax, chan, errorstr, reason) \
+#define GENERIC_FAX_EXEC_SET_VARS(fax, chan, errorstr, reason) \
 	do {	\
 		ast_string_field_set(fax->details, result, S_OR(fax->details->result, "FAILED")); \
 		ast_string_field_set(fax->details, resultstr, S_OR(fax->details->resultstr, reason)); \
 		ast_string_field_set(fax->details, error, S_OR(fax->details->error, errorstr)); \
 		set_channel_variables(chan, fax->details); \
+	} while (0)
+
+#define GENERIC_FAX_EXEC_ERROR_QUIET(fax, chan, errorstr, reason) \
+	do {	\
+		GENERIC_FAX_EXEC_SET_VARS(fax, chan, errorstr, reason); \
 		res = ms = -1; \
 	} while (0)
 
@@ -1053,7 +1058,7 @@
  				 * send the FAX stack silence so the modems can finish their session without
  				 * any problems */
 				ast_log(LOG_NOTICE, "Channel '%s' did not return a frame; probably hung up.\n", chan->name);
-				GENERIC_FAX_EXEC_ERROR_QUIET(fax, chan, "HANGUP", "remote end hungup");
+				GENERIC_FAX_EXEC_SET_VARS(fax, chan, "HANGUP", "remote channel hungup");
 				c = NULL;
 				chancount = 0;
 				timeout -= (1000 - ms);




More information about the asterisk-commits mailing list