summaryrefslogtreecommitdiff
path: root/ACE/bin/clean_sems.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/bin/clean_sems.sh')
-rwxr-xr-xACE/bin/clean_sems.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/ACE/bin/clean_sems.sh b/ACE/bin/clean_sems.sh
new file mode 100755
index 00000000000..b73793c7b62
--- /dev/null
+++ b/ACE/bin/clean_sems.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+SYSTEM=`uname -s`
+IPCS="ipcs"
+IPCRM="ipcrm -s"
+
+if [ "$SYSTEM" = "Darwin" ]; then
+ USER=`id | sed 's/(.*//; s/uid=//'`
+ IPCS="ngvipc -s"
+ IPCRM="ngvipc -s -R"
+elif [ -z "$USER" ]; then
+ USER=`id | sed 's/).*//; s/.*(//'`
+fi
+
+
+case "$SYSTEM" in
+ "Linux" )
+ ipcs -a | grep $USER | awk '{ print ($2) }' | xargs -r ipcrm sem;
+ ;;
+ * )
+ semids=`$IPCS | grep "^s" | grep $USER | awk '{ print ($2) }'`
+ for p in $semids
+ do $IPCRM $p
+ done
+ ;;
+esac