X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Frenderfarmclient.C;fp=cinelerra-5.1%2Fcinelerra%2Frenderfarmclient.C;h=807b866afd2c9c96b09924ebe01decc99c43f2e5;hb=abdff69b9309c7d5cd2ed6ce17dd2e0d85aef9a1;hp=17b345112a4c49891650d459fbe3fe0a51c541bf;hpb=0b751b07a28e84a721b2bb76083db6629aa26d73;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/renderfarmclient.C b/cinelerra-5.1/cinelerra/renderfarmclient.C index 17b34511..807b866a 100644 --- a/cinelerra-5.1/cinelerra/renderfarmclient.C +++ b/cinelerra-5.1/cinelerra/renderfarmclient.C @@ -122,6 +122,11 @@ void RenderFarmClient::main_loop() perror(_("RenderFarmClient::main_loop: socket")); return; } + struct linger lgr; + lgr.l_onoff = 0; + lgr.l_linger = 0; + if( setsockopt(socket_fd, SOL_SOCKET, SO_LINGER, &lgr, sizeof(lgr)) < 0 ) + perror("RenderFarmClient::setsockopt:setlinger 0"); if(bind(socket_fd, (struct sockaddr*)&addr, @@ -147,6 +152,11 @@ void RenderFarmClient::main_loop() perror(_("RenderFarmClient::main_loop: socket")); return; } + struct linger lgr; + lgr.l_onoff = 0; + lgr.l_linger = 0; + if( setsockopt(socket_fd, SOL_SOCKET, SO_LINGER, &lgr, sizeof(lgr)) < 0 ) + perror("RenderFarmClient::setsockopt:setlinger 1"); if(bind(socket_fd, (struct sockaddr*)&addr, @@ -267,7 +277,8 @@ int RenderFarmClientThread::read_socket(char *data, int len) int bytes_read = 0; int offset = 0; //printf("RenderFarmClientThread::read_socket 1\n"); - watchdog->begin_request(); + if( watchdog ) + watchdog->begin_request(); while(len > 0 && bytes_read >= 0) { bytes_read = read(socket_fd, data + offset, len); @@ -282,7 +293,8 @@ int RenderFarmClientThread::read_socket(char *data, int len) break; } } - watchdog->end_request(); + if( watchdog ) + watchdog->end_request(); //printf("RenderFarmClientThread::read_socket 10\n"); return offset;