Remove incorrect looping in edg_wll_socket_write().
authorZdeněk Salvet <salvet@ics.muni.cz>
Fri, 6 May 2005 17:27:55 +0000 (17:27 +0000)
committerZdeněk Salvet <salvet@ics.muni.cz>
Fri, 6 May 2005 17:27:55 +0000 (17:27 +0000)
org.glite.lb.logger/src/logd_proto.c

index 463266a..0985a51 100644 (file)
@@ -243,10 +243,10 @@ static ssize_t edg_wll_socket_write(int sock,const void *buf,size_t bufsize,stru
                gettimeofday(&before,NULL);
        }
         len = write(sock,buf,bufsize);
-        while (len <= 0) {
+        if (len <= 0 && errno == EAGAIN) {
                FD_ZERO(&fds);
                FD_SET(sock,&fds);
-               if ((ret=select(sock+1,&fds,NULL,NULL,timeout?&to:NULL)) < 0) {
+               if ((ret=select(sock+1,NULL, &fds ,NULL,timeout?&to:NULL)) < 0) {
                        edg_wll_ll_log(LOG_ERR,"edg_wll_socket_write(): error selecting socket\n");
                        SYSTEM_ERROR("select"); 
                        break;