Commit bb7f173c authored by Marc G. Fournier's avatar Marc G. Fournier

Reply-To: Jordi MacDonald <jordi@spartanmedia.com>

There is an error in the configure script when using
--with-pgport= that will cause the compiled version of
PostgreSQL to no longer allow connections to the
new port and to treat shared memory improperly.

What happens is that if the port is changed, the configure
script defines DEF_PGPORT as "", which atoi() will return
as 0, which makes the IPC_KEY value 0. This then causes
semaphores to be allocated, but never released. Postgres
eventually returns from semget() with
"no space left on device". The source of this error could
easily be overlooked in version 6.3 since it is possible
to connect via UNIX domain sockets, and having DEF_PGPORT
defined as "0" would not be noticed until TCP was used.
parent e4135ad1
......@@ -808,7 +808,7 @@ echo "configure:807: checking setting DEF_PGPORT" >&5
if test "${with_pgport+set}" = set; then
withval="$with_pgport"
cat >> confdefs.h <<EOF
#define DEF_PGPORT "${DEF_PGPORT}"
#define DEF_PGPORT "${withval}"
EOF
echo "$ac_t""$with_pgport" 1>&6
else
......@@ -1003,7 +1003,7 @@ fi
echo "$ac_t""$ac_cv_prog_gcc" 1>&6
if test "$ac_cv_prog_gcc" = "yes"; then
if test $ac_cv_prog_gcc = yes; then
GCC=yes
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
......
......@@ -230,7 +230,7 @@ AC_MSG_CHECKING(setting DEF_PGPORT)
AC_ARG_WITH(
pgport,
[ --with-pgport=<portnum> change default startup port ],
AC_DEFINE_UNQUOTED(DEF_PGPORT, "${DEF_PGPORT}") AC_MSG_RESULT($with_pgport),
AC_DEFINE_UNQUOTED(DEF_PGPORT, "${withval}") AC_MSG_RESULT($with_pgport),
AC_DEFINE_UNQUOTED(DEF_PGPORT, "5432") AC_MSG_RESULT(5432)
)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment