The LEV_OPT_CLOSE_ON_EXEC flag now applies to accepted listener sockets too
authorNick Mathewson <nickm@torproject.org>
Fri, 10 Feb 2012 21:14:09 +0000 (16:14 -0500)
committerNick Mathewson <nickm@torproject.org>
Fri, 10 Feb 2012 21:14:09 +0000 (16:14 -0500)
listener.c

index ed31a0527acbc2d4699f76b02c9af666b4dd2569..a4bb6e8a34f1c868feda7751d7a869527d241814 100644 (file)
@@ -190,6 +190,8 @@ evconnlistener_new(struct event_base *base,
        lev->base.accept4_flags = 0;
        if (!(flags & LEV_OPT_LEAVE_SOCKETS_BLOCKING))
                lev->base.accept4_flags |= EVUTIL_SOCK_NONBLOCK;
+       if (flags & LEV_OPT_CLOSE_ON_EXEC)
+               lev->base.accept4_flags |= EVUTIL_SOCK_CLOEXEC;
 
        if (flags & LEV_OPT_THREADSAFE) {
                EVTHREAD_ALLOC_LOCK(lev->base.lock, EVTHREAD_LOCKTYPE_RECURSIVE);