aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/init/miscinit.c5
-rw-r--r--src/bin/Makefile4
-rw-r--r--src/bin/ipcclean/Makefile32
-rw-r--r--src/bin/ipcclean/ipcclean.sh116
4 files changed, 4 insertions, 153 deletions
diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c
index 5a42a8953a7..5369da439b6 100644
--- a/src/backend/utils/init/miscinit.c
+++ b/src/backend/utils/init/miscinit.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/init/miscinit.c,v 1.166 2008/01/03 21:23:15 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/init/miscinit.c,v 1.167 2008/03/27 17:24:16 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -841,8 +841,7 @@ CreateLockFile(const char *filename, bool amPostmaster,
id1, id2),
errhint("If you're sure there are no old "
"server processes still running, remove "
- "the shared memory block with "
- "the command \"ipcclean\", \"ipcrm\", "
+ "the shared memory block "
"or just delete the file \"%s\".",
filename)));
}
diff --git a/src/bin/Makefile b/src/bin/Makefile
index 56389351272..2dbd93ec512 100644
--- a/src/bin/Makefile
+++ b/src/bin/Makefile
@@ -5,7 +5,7 @@
# Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
-# $PostgreSQL: pgsql/src/bin/Makefile,v 1.52 2008/03/18 16:24:50 petere Exp $
+# $PostgreSQL: pgsql/src/bin/Makefile,v 1.53 2008/03/27 17:24:16 momjian Exp $
#
#-------------------------------------------------------------------------
@@ -13,7 +13,7 @@ subdir = src/bin
top_builddir = ../..
include $(top_builddir)/src/Makefile.global
-DIRS = initdb ipcclean pg_ctl pg_dump \
+DIRS = initdb pg_ctl pg_dump \
psql scripts pg_config pg_controldata pg_resetxlog
ifeq ($(PORTNAME), win32)
DIRS+=pgevent
diff --git a/src/bin/ipcclean/Makefile b/src/bin/ipcclean/Makefile
deleted file mode 100644
index 18cca54371b..00000000000
--- a/src/bin/ipcclean/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-#-------------------------------------------------------------------------
-#
-# Makefile for src/bin/ipcclean
-#
-# Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
-# Portions Copyright (c) 1994, Regents of the University of California
-#
-# $PostgreSQL: pgsql/src/bin/ipcclean/Makefile,v 1.22 2008/01/01 19:45:55 momjian Exp $
-#
-#-------------------------------------------------------------------------
-
-subdir = src/bin/ipcclean
-top_builddir = ../../..
-include $(top_builddir)/src/Makefile.global
-
-all: ipcclean
-
-ipcclean: ipcclean.sh
- cp $< $@
- chmod a+x $@
-
-install: all installdirs
- $(INSTALL_SCRIPT) ipcclean '$(DESTDIR)$(bindir)/ipcclean'
-
-installdirs:
- $(mkinstalldirs) '$(DESTDIR)$(bindir)'
-
-uninstall:
- rm -f '$(DESTDIR)$(bindir)/ipcclean'
-
-clean distclean maintainer-clean:
- rm -f ipcclean
diff --git a/src/bin/ipcclean/ipcclean.sh b/src/bin/ipcclean/ipcclean.sh
deleted file mode 100644
index f55f8c7e3a4..00000000000
--- a/src/bin/ipcclean/ipcclean.sh
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/bin/sh
-#
-# $PostgreSQL: pgsql/src/bin/ipcclean/ipcclean.sh,v 1.18 2006/03/03 21:52:37 momjian Exp $
-#
-
-CMDNAME=`basename $0`
-
-if [ "$1" = '-?' -o "$1" = "--help" ]; then
- echo "$CMDNAME cleans up shared memory and semaphores from aborted PostgreSQL"
- echo "backends."
- echo
- echo "Usage:"
- echo " $CMDNAME"
- echo
- echo "Note: Since the utilities underlying this script are very different"
- echo "from platform to platform, chances are that it might not work on"
- echo "yours. If that is the case, please write to <pgsql-bugs@postgresql.org>"
- echo "so that your platform can be supported in the future."
- exit 0
-fi
-
-# test for running as root
-
-ISROOT="N"
-if id -u >/dev/null 2>&1
-then if [ `id -u` -eq 0 ]
- then ISROOT="Y"
- fi
-elif # only check $LOGNAME if $USER is not set
- [ "$USER" = 'root' -o \( ! "$USER" -a "$LOGNAME" = 'root' \) ]
-then ISROOT="Y"
-fi
-
-if [ "$ISROOT" = "Y" ]
-then
- (
- echo "$CMDNAME: cannot be run as root" 1>&2
- echo "Please log in (using, e.g., \"su\") as the (unprivileged) user that" 1>&2
- echo "owned the server process." 1>&2
- ) 1>&2
- exit 1
-fi
-
-EffectiveUser=`id -n -u 2>/dev/null || whoami 2>/dev/null`
-
-#-----------------------------------
-# List of platform-specific hacks
-# Feel free to add yours here.
-#-----------------------------------
-#
-# This is based on RedHat 5.2.
-#
-if [ `uname` = 'Linux' ]; then
- did_anything=
-
- if ps x | grep -s '[p]ostmaster' >/dev/null 2>&1 ; then
- echo "$CMDNAME: a postmaster is still running" 1>&2
- exit 1
- fi
-
- # shared memory
- for val in `ipcs -m -p | grep '^[0-9]' | awk '{printf "%s:%s:%s\n", $1, $3, $4}'`
- do
- save_IFS=$IFS
- IFS=:
- set X $val
- shift
- IFS=$save_IFS
- ipcs_shmid=$1
- ipcs_cpid=$2
- ipcs_lpid=$3
-
- # Note: We can do -n here, because we know the platform.
- echo -n "Shared memory $ipcs_shmid ... "
-
- # Don't do anything if process still running.
- # (This check is conceptually phony, but it's
- # useful anyway in practice.)
- ps hj $ipcs_cpid $ipcs_lpid >/dev/null 2>&1
- if [ "$?" -eq 0 ]; then
- echo "skipped; process still exists (pid $ipcs_cpid or $ipcs_lpid)."
- continue
- fi
-
- # try remove
- ipcrm shm $ipcs_shmid
- if [ "$?" -eq 0 ]; then
- did_anything=t
- else
- exit
- fi
- done
-
- # semaphores
- for val in `ipcs -s -c | grep '^[0-9]' | awk '{printf "%s\n", $1}'`; do
- echo -n "Semaphore $val ... "
- # try remove
- ipcrm sem $val
- if [ "$?" -eq 0 ]; then
- did_anything=t
- else
- exit
- fi
- done
-
- [ -z "$did_anything" ] && echo "$CMDNAME: nothing removed" && exit 1
- exit 0
-fi # end Linux
-
-
-# This is the original implementation. It seems to work
-# on FreeBSD, SunOS/Solaris, HP-UX, IRIX, and probably
-# some others.
-
-ipcs | egrep '^m .*|^s .*' | egrep "$EffectiveUser" | \
-awk '{printf "ipcrm -%s %s\n", $1, $2}' '-' | sh