]> code.ossystems Code Review - openembedded-core.git/commitdiff
sysvinit: allow stack size configuration from rcS
authorScot Salmon <scot.salmon@ni.com>
Mon, 4 Aug 2014 15:40:30 +0000 (10:40 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 11 Aug 2014 09:46:58 +0000 (10:46 +0100)
For certain swap/overcommit settings (e.g. when overcommit is disabled
on a real-time system), we need to limit the stack size used by
initscripts.  When the STACK_SIZE environment variable is set (usually
in /etc/default/rcS), ulimit the stack size to the value specified.

Make the stack size ulimit a soft limit, which allows the user to
increase the stack size where required without having to run the
respective application as root.

Signed-off-by: Scot Salmon <scot.salmon@ni.com>
Signed-off-by: Gratian Crisan <gratian.crisan@ni.com>
Signed-off-by: Ben Shelton <ben.shelton@ni.com>
Acked-by: Rich Tollerton <rich.tollerton@ni.com>
Acked-by: Brad Mouring <brad.mouring@ni.com>
Acked-by: Bill Pittman <bill.pittman@ni.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
meta/recipes-core/sysvinit/sysvinit/rc

index 1f400d9e556cd65ef55502e35c0ae7846961d1f5..7ca41ae1ae4e88c4bfd7d9dc88b020bbe8750e71 100755 (executable)
@@ -65,6 +65,9 @@ startup() {
   # Set onlcr to avoid staircase effect.
   stty onlcr 0>&1
 
+  # Limit stack size for startup scripts
+  [ "$STACK_SIZE" == "" ] || ulimit -S -s $STACK_SIZE
+
   # Now find out what the current and what the previous runlevel are.
 
   runlevel=$RUNLEVEL