From 77c2fcd2351699674ff8077f6c38843d1226e1b6 Mon Sep 17 00:00:00 2001 From: obsy Date: Thu, 10 Mar 2011 05:58:02 +0000 Subject: [PATCH] [packages] transmission: set ulimit for open files Currently, transmission daemon allows you to set the max number of open files, but it can be more than allowed by the system, thus resulting in errors if transmission uses more than set in ulimit. The following is a patch to compare ulimit vs open_file_limit from /etc/config/transmission. If the open_file_limit is greater than `ulimit -n`, then invoke ulimit -n open_file_limit + 8 (since transmission's open file limit any seems to pertain only to open torrent files) Signed-off-by: Joe Roback git-svn-id: svn://svn.openwrt.org/openwrt/packages@25991 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- net/transmission/Makefile | 2 +- net/transmission/files/transmission.init | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/net/transmission/Makefile b/net/transmission/Makefile index a92db7c6f..679a7e398 100644 --- a/net/transmission/Makefile +++ b/net/transmission/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=transmission PKG_VERSION:=2.22 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://mirrors.m0k.org/transmission/files diff --git a/net/transmission/files/transmission.init b/net/transmission/files/transmission.init index bdfe2e008..549517822 100644 --- a/net/transmission/files/transmission.init +++ b/net/transmission/files/transmission.init @@ -40,6 +40,8 @@ start_service() { local enable=0 local enabled=0 local run_as_usr='root' + local open_file_limit=0 + local ulimit_files=`ulimit -n` # disabled? config_get_bool enable "$s" enable 0 # compatibility with prev version @@ -75,6 +77,13 @@ start_service() { chown -R $run_as_usr $config_dir + config_get open_file_limit "$s" open_file_limit + let open_limit_files="$open_file_limit + 8" + + if [ ${open_file_limit} -gt ${ulimit_files} ]; then + ulimit -n $open_limit_files + fi + eval "$SSD -c $run_as_usr -q -b -x $BIN -S -- -g $config_dir" } -- 2.11.0