diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/utils/init/miscinit.c | 5 | ||||
-rw-r--r-- | src/bin/Makefile | 4 | ||||
-rw-r--r-- | src/bin/ipcclean/Makefile | 32 | ||||
-rw-r--r-- | src/bin/ipcclean/ipcclean.sh | 116 |
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 |