]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix build
authorAnthony Minessale <anthm@freeswitch.org>
Fri, 4 Jun 2010 21:44:49 +0000 (16:44 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Fri, 4 Jun 2010 21:45:35 +0000 (16:45 -0500)
src/mod/applications/mod_fax/mod_fax.c

index f1931c47562bfea6bcae3f92ccd6b3b19341800f..010a5b015d338bbb021060472c96f8df64c5c20e 100644 (file)
@@ -1697,7 +1697,11 @@ static switch_status_t t38_gateway_on_consume_media(switch_core_session_t *sessi
                if (!switch_test_flag(read_frame, SFF_CNG)) {
 
             if (read_fd != FAX_INVALID_SOCKET) {
-                write(read_fd, read_frame->data, read_frame->datalen);
+                int w = write(read_fd, read_frame->data, read_frame->datalen);
+                if (w <= 0) {
+                    close(read_fd);
+                    read_fd = FAX_INVALID_SOCKET;
+                }
             }
             if (t38_gateway_rx(pvt->t38_gateway_state, (int16_t *) read_frame->data, read_frame->samples)) {
                                switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "fax_rx reported an error\n");
@@ -1720,7 +1724,11 @@ static switch_status_t t38_gateway_on_consume_media(switch_core_session_t *sessi
                }
 
         if (write_fd != FAX_INVALID_SOCKET) {
-            write(write_fd, write_frame.data, write_frame.datalen);
+            int w = write(write_fd, write_frame.data, write_frame.datalen);
+            if (w <= 0) {
+                close(write_fd);
+                write_fd = FAX_INVALID_SOCKET;
+            }
         }
 
                if (switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0) != SWITCH_STATUS_SUCCESS) {