]> granicus.if.org Git - libevent/commitdiff
Close IOCP listener socket on free when LEV_OPT_CLOSE_ON_FREE is set
authorJuan Pablo Fernandez <this.juan@gmail.com>
Fri, 26 Oct 2012 23:33:31 +0000 (19:33 -0400)
committerNick Mathewson <nickm@torproject.org>
Fri, 26 Oct 2012 23:33:31 +0000 (19:33 -0400)
listener.c

index a78ca0d6d729415546426acd095a7e89a783423b..d21e8dbe443f0fc69ff961f20b695ab6803d8cf6 100644 (file)
@@ -741,6 +741,10 @@ iocp_listener_disable_impl(struct evconnlistener *lev, int shutdown)
                }
                LeaveCriticalSection(&as->lock);
        }
+
+       if (shutdown && lev->flags & LEV_OPT_CLOSE_ON_FREE)
+               evutil_closesocket(lev_iocp->fd);
+
        UNLOCK(lev);
        return 0;
 }