aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorNaohiro Ooiwa <nooiwa@miraclelinux.com>2009-11-09 00:46:42 +0900
committerIngo Molnar <mingo@elte.hu>2009-11-09 09:44:26 +0100
commitf84d49b218b7d4c6cba2e0b41f24bd4045403962 (patch)
treed62ed0c15152c1a0a78fb75feac649dafc05b041 /include
parentsignal: Fix alternate signal stack check (diff)
downloadlinux-dev-f84d49b218b7d4c6cba2e0b41f24bd4045403962.tar.xz
linux-dev-f84d49b218b7d4c6cba2e0b41f24bd4045403962.zip
signal: Print warning message when dropping signals
When the system has too many timers or too many aggregate queued signals, the EAGAIN error is returned to application from kernel, including timer_create() [POSIX.1b]. It means that the app exceeded the limit of pending signals, but in general application writers do not expect this outcome and the current silent failure can cause rare app failures under very high load. This patch adds a new message when we reach the limit and if print_fatal_signals is enabled: task/1234: reached RLIMIT_SIGPENDING, dropping signal If you see this message and your system behaved unexpectedly, you can run following command to lift the limit: # ulimit -i unlimited With help from Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>. Signed-off-by: Naohiro Ooiwa <nooiwa@miraclelinux.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> Cc: Roland McGrath <roland@redhat.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: oleg@redhat.com LKML-Reference: <4AF6E7E2.9080406@miraclelinux.com> [ Modified a few small details, gave surrounding code some love. ] Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions