win32: Don't set SO_REUSEADDR on listen socket.
authorMarko Kreen <markokr@gmail.com>
Mon, 18 Mar 2013 16:01:52 +0000 (18:01 +0200)
committerMarko Kreen <markokr@gmail.com>
Mon, 18 Mar 2013 16:01:52 +0000 (18:01 +0200)
commit45857fabab6d9b7230a4d01ad9d7068cf4dce30e
tree2b8ef58909859442d38660b4d8228a4dcdf8888c
parent2df26081d4e811bbc0d99369a2f81653e2a59074
win32: Don't set SO_REUSEADDR on listen socket.

According to Postgres src/backend/libpq/pqcomm.c:

/*
 * Without the SO_REUSEADDR flag, a new postmaster can't be started
 * right away after a stop or crash, giving "address already in use"
 * error on TCP ports.
 *
 * On win32, however, this behavior only happens if the
 * SO_EXLUSIVEADDRUSE is set. With SO_REUSEADDR, win32 allows multiple
 * servers to listen on the same address, resulting in unpredictable
 * behavior. With no flags at all, win32 behaves as Unix with
 * SO_REUSEADDR.
 */
src/pooler.c