summaryrefslogtreecommitdiff
path: root/data/data-provider-master
diff options
context:
space:
mode:
Diffstat (limited to 'data/data-provider-master')
-rwxr-xr-xdata/data-provider-master94
1 files changed, 94 insertions, 0 deletions
diff --git a/data/data-provider-master b/data/data-provider-master
new file mode 100755
index 0000000..2e6ce3c
--- /dev/null
+++ b/data/data-provider-master
@@ -0,0 +1,94 @@
+#!/bin/sh
+#
+# Copyright 2012 Samsung Electronics Co., Ltd
+#
+# Licensed under the Flora License, Version 1.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.tizenopensource.org/license
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+launch_provider()
+{
+ RETRY_COUNT=0
+ while [ ! -f "/tmp/.stop.provider" ]; do
+ # PROVIDER_HEAP_MONITOR_START=false
+ # PROVIDER_DISABLE_CALL_OPTION=false
+ # PROVIDER_METHOD="shm", "pixmap", "file" (default = "file")
+ BUFMGR_LOCK_TYPE="once" BUFMGR_MAP_CACHE="true" /usr/bin/data-provider-master
+ let RETRY_COUNT=$RETRY_COUNT+1
+ if [ $RETRY_COUNT -gt 5 ]; then
+ echo "EXCEED THE MAXIMUM RETRY COUNT: $RETRY_COUNT (max 5)"
+ break;
+ fi
+ done
+ rm /tmp/.stop.provider
+}
+
+start ()
+{
+ rm /opt/usr/share/live_magazine/*
+ rm /opt/usr/share/live_magazine/reader/*
+ rm /opt/usr/share/live_magazine/log/*
+ rm /tmp/.stop.provider
+ launch_provider &
+}
+
+stop ()
+{
+ TMP=`which ps`
+ if [ $? -ne 0 ]; then
+ echo "'ps' is not exists"
+ exit 0
+ fi
+
+ TMP=`which grep`
+ if [ $? -ne 0 ]; then
+ echo "'grep' is not exists"
+ exit 0
+ fi
+
+ TMP=`which awk`
+ if [ $? -ne 0 ]; then
+ echo "'awk' is not exists"
+ exit 0
+ fi
+
+ if [ ! -f "/usr/bin/data-provider-master" ]; then
+ echo "Data provider master is not installed correctly";
+ exit 0;
+ fi
+
+ touch /tmp/.stop.provider
+ BIN_INODE=`stat -Lc "%i" /usr/bin/data-provider-master`
+
+ PID=`ps ax | grep 'data-provider-master' | awk '{print $1}'`
+ for I in $PID;
+ do
+ if [ ! -f "/proc/$I/exe" ]; then
+ continue;
+ fi
+
+ INODE=`stat -Lc "%i" /proc/$I/exe 2>/dev/null`
+ if [ x"$BIN_INODE" == x"$INODE" ]; then
+ echo "Send TERM to $I"
+ kill $I # Try to terminate a master which is launched already
+ break
+ fi
+ done
+}
+
+case "$1" in
+ start|"") start;;
+ stop) stop;;
+ restart) stop; start;;
+esac
+
+# End of a file