]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
freetdm: Added some code to differentiate between wanpipe_wait returning FTDM_TIMEOUT...
authorDavid Yat Sin <dyatsin@sangoma.com>
Mon, 31 Oct 2011 14:25:07 +0000 (10:25 -0400)
committerDavid Yat Sin <dyatsin@sangoma.com>
Mon, 31 Oct 2011 14:25:07 +0000 (10:25 -0400)
libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c

index 3788a9c25b74afebd255b23091c0cc2996619336..f5ff189ad7a125ff876097c93083e0b976cd08e3 100644 (file)
@@ -897,12 +897,19 @@ int16_t sngisdn_rcv_l1_data_req(uint16_t spId, sng_l1_frame_t *l1_frame)
        do {
                flags = FTDM_WRITE;
                status = signal_data->dchan->fio->wait(signal_data->dchan, &flags, 1000);
-               if (status != FTDM_SUCCESS) {
-                       ftdm_log_chan_msg(signal_data->dchan, FTDM_LOG_WARNING, "transmit timed-out\n");
-                       return -1;
+               switch(status) {
+                       case FTDM_SUCCESS:
+                               break;
+                       case FTDM_TIMEOUT:
+                               continue;
+                       case FTDM_FAIL:
+                       default:
+                               ftdm_log_chan_msg(signal_data->dchan, FTDM_LOG_WARNING, "failed to poll for channel\n");
+                               return -1;
                }
                
                
+               /* status = FTDM_SUCCESS */     
                if ((flags & FTDM_WRITE)) {
 #if 0
                        int i;