X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Frenderfarmclient.C;h=807b866afd2c9c96b09924ebe01decc99c43f2e5;hb=34d7b567ee523b6185aabe66879026c8e1704152;hp=b12b5225a77bd7482a6e96e6143dac4a4e4df4d6;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/renderfarmclient.C b/cinelerra-5.1/cinelerra/renderfarmclient.C index b12b5225..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; @@ -425,13 +437,7 @@ void RenderFarmClientThread::read_asset(int socket_fd, Asset *asset) BC_Hash defaults; defaults.load_string((char*)string1); - asset->load_defaults(&defaults, - 0, - 1, - 1, - 1, - 1, - 1); + asset->load_defaults(&defaults, 0, 1, 1, 1, 1, 1); //printf("RenderFarmClientThread::read_asset %d\n", __LINE__); //asset->dump();