summaryrefslogtreecommitdiff
path: root/platform.c
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2009-12-08 13:39:48 +1100
committerDarren Tucker <dtucker@zip.com.au>2009-12-08 13:39:48 +1100
commitc8802aac28470714ec204d00342f6ecbca45908f (patch)
tree2732966739075d569e733d65ce0cb6eb1c7a4ac6 /platform.c
parentd35e0ef61658aa3116eebb1606fcfe6f849fdcca (diff)
downloadopenssh-git-c8802aac28470714ec204d00342f6ecbca45908f.tar.gz
- (dtucker) Bug #1470: Disable OOM-killing of the listening sshd on Linux,
based on a patch from Vaclav Ovsik and Colin Watson. ok djm.
Diffstat (limited to 'platform.c')
-rw-r--r--platform.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/platform.c b/platform.c
index aee4b01e..2dc4352f 100644
--- a/platform.c
+++ b/platform.c
@@ -1,4 +1,4 @@
-/* $Id: platform.c,v 1.1 2006/08/30 17:24:41 djm Exp $ */
+/* $Id: platform.c,v 1.2 2009/12/08 02:39:48 dtucker Exp $ */
/*
* Copyright (c) 2006 Darren Tucker. All rights reserved.
@@ -22,6 +22,15 @@
#include "openbsd-compat/openbsd-compat.h"
void
+platform_pre_listen(void)
+{
+#ifdef LINUX_OOM_ADJUST
+ /* Adjust out-of-memory killer so listening process is not killed */
+ oom_adjust_setup();
+#endif
+}
+
+void
platform_pre_fork(void)
{
#ifdef USE_SOLARIS_PROCESS_CONTRACTS
@@ -43,4 +52,7 @@ platform_post_fork_child(void)
#ifdef USE_SOLARIS_PROCESS_CONTRACTS
solaris_contract_post_fork_child();
#endif
+#ifdef LINUX_OOM_ADJUST
+ oom_adjust_restore();
+#endif
}