--- memcached_old 2012-09-03 16:06:09.000000000 +0900 +++ memcached 2012-09-03 17:31:27.652621262 +0900 @@ -9,6 +9,7 @@ if [ -n "${CONF}" ]; then PIDFILE="${PIDBASE}-${PORT}.${CONF}.pid" + SOCKFILE="${PIDBASE}-${PORT}.${CONF}.sock" CONFSRC="${CONFBASE}.${CONF}" if [ -f "${CONFSRC}" ]; then source "${CONFSRC}" @@ -17,6 +18,7 @@ fi else PIDFILE="${PIDBASE}-${PORT}.pid" + SOCKFILE="${PIDBASE}.sock" CONFSRC="${CONFBASE}" fi @@ -40,7 +42,9 @@ else ebegin "Starting memcached" fi - checkconfig + if [[ "${PORT}" != "unix" ]]; then + checkconfig + fi local dir="$(dirname ${PIDFILE})" if [ ! -d "${dir}" ]; then einfo " Creating ${dir}" @@ -58,11 +62,19 @@ c_LISTENON="-l ${LISTENON}" fi - /sbin/start-stop-daemon --start --pidfile "${PIDFILE}" \ - --exec "${MEMCACHED_BINARY}" -- \ - -d -p ${PORT} -U ${UDPPORT} ${c_LISTENON} -m ${MEMUSAGE} \ - -c ${MAXCONN} -u ${MEMCACHED_RUNAS} -P "${PIDFILE}" \ - ${MISC_OPTS} + if [[ "${PORT}" != "unix" ]]; then + /sbin/start-stop-daemon --start --pidfile "${PIDFILE}" \ + --exec "${MEMCACHED_BINARY}" -- \ + -d -p ${PORT} -U ${UDPPORT} ${c_LISTENON} -m ${MEMUSAGE} \ + -c ${MAXCONN} -u ${MEMCACHED_RUNAS} -P "${PIDFILE}" \ + ${MISC_OPTS} + else + /sbin/start-stop-daemon --start --pidfile "${PIDFILE}" \ + --exec "${MEMCACHED_BINARY}" -- \ + -d -s ${SOCKFILE} -m ${MEMUSAGE} \ + -c ${MAXCONN} -u ${MEMCACHED_RUNAS} -P "${PIDFILE}" \ + ${MISC_OPTS} + fi eend $? }