aboutsummaryrefslogblamecommitdiffstats
path: root/main/freeswitch/freeswitch.initd
blob: bbcb6f463aa93779e2fe3b8239ff66c0577a9c9b (plain) (tree)
1
2
3
4
5
6
7
8
9
                  


                                                                            
 
          
                
 
 
                               
                                          
 
         










                                                     
                         
                                                                                  
                                            


                                                                      
                                    
                    

                       
               
 
 



                                                   




                           
                     
                           

 
        


                                          
                            

                                          

 
          


                                                     

 
#!/sbin/openrc-run
# Copyright 2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later
# $Header: $

depend() {
	need net
}

extra_started_commands="reload"
pidfile=/var/run/freeswitch/freeswitch.pid

start() {
	local OPTS

	[ -n "${FREESWITCH_USER}" ] && \
		OPTS="${OPTS} -u ${FREESWITCH_USER}"

	[ -n "${FREESWITCH_GROUP}" ] && \
		OPTS="${OPTS} -g ${FREESWITCH_GROUP}"

	[ -n "${FREESWITCH_OPTS}" ] && \
		OPTS="${OPTS} ${FREESWITCH_OPTS}"

	checkpath -q -d \
		-o ${FREESWITCH_USER:-freeswitch}:${FREESWITCH_GROUP:-freeswitch}\
		-m 0770 /var/run/freeswitch 
	ebegin "Starting Freeswitch"
	limits
	start-stop-daemon --start --quiet --exec /usr/bin/freeswitch \
		--pidfile $pidfile \
		-- \
		-nc \
		${OPTS}
	eend $?
}

# Recomended ULIMIT settings
# http://tinyurl.com/2dr467l (i,q,u,x not suppoted)

limits() {
	ulimit -c unlimited
	ulimit -d unlimited
	ulimit -f unlimited
	ulimit -n 999999
	ulimit -v unlimited
	ulimit -s 240
	ulimit -l unlimited
}

stop() {
	ebegin "Stopping Freeswitch"
	start-stop-daemon --quiet --stop \
		--pidfile $pidfile \
		--retry 20 \
		--exec /usr/bin/freeswitch
	eend $?
}

reload() {
	start-stop-daemon --stop --signal 1 --quiet \
		--pidfile $pidfile --name freeswitch
	return 0
}