Changeset 4161


Ignore:
Timestamp:
Jan 30, 2014 1:53:40 PM (10 years ago)
Author:
ldelgass
Message:

Fix bug in nanoscale where stderr would be closed if using stdout for socket
output.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/vizservers/nanoscale/server.c

    r4154 r4161  
    625625                    }
    626626                }
    627                 for (i = serverPtr->outputFd + 1; i <= FD_SETSIZE; i++) {
    628                     close(i);           /* Close all the other descriptors. */
     627                /* Close all the other descriptors. */
     628                for (i = 3; i <= FD_SETSIZE; i++) {
     629                    if (i != serverPtr->inputFd &&
     630                        i != serverPtr->outputFd) {
     631                        close(i);
     632                    }
    629633                }
    630634
     
    642646                                    (const char *const *)serverPtr->cmdArgs);
    643647                    INFO("Executing %s: client=%s, \"%s\" in=%d out=%d on DISPLAY=%s",
    644                      serverPtr->name, inet_ntoa(newaddr.sin_addr),
    645                      cmd, serverPtr->inputFd, serverPtr->outputFd, display);
     648                         serverPtr->name, inet_ntoa(newaddr.sin_addr),
     649                         cmd, serverPtr->inputFd, serverPtr->outputFd, display);
    646650                    /* Replace the current process with the render server. */
    647651                    execvp(serverPtr->cmdArgs[0], serverPtr->cmdArgs);
Note: See TracChangeset for help on using the changeset viewer.