Changeset 6503 for nanoscale


Ignore:
Timestamp:
Aug 29, 2016 3:21:20 PM (8 years ago)
Author:
ldelgass
Message:

Close syslog before closing and duping file descriptors above 2 in case it is
using one of them. This can happen if a log message is written before opening
the listening sockets, for example.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • nanoscale/trunk/server.c

    r4241 r6503  
    308308    f = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    309309    if (f < 0) {
    310         Tcl_AppendResult(interp, "can't create listerner socket for \"",
     310        Tcl_AppendResult(interp, "can't create listener socket for \"",
    311311                serverPtr->name, "\": ", Tcl_PosixError(interp), (char *)NULL);
    312312        goto error;
     
    606606                    }
    607607                }
     608                /* Make sure to close syslog in case it is using one of
     609                 * the file descriptors we are about to close
     610                 */
     611                closelog();
    608612                /* Dup the socket to descriptors, e.g. 3 and 4 */
    609613                if (dup2(sock, serverPtr->inputFd) < 0)  { /* input */
Note: See TracChangeset for help on using the changeset viewer.