summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2013-09-22 19:02:40 +1000
committerDarren Tucker <dtucker@zip.com.au>2013-09-22 19:02:40 +1000
commitf2bf36c3eb4d969f85ec8aa342e9aecb61cc8bb1 (patch)
tree82909c895d0e5a21182e280f4deb9124ac157a25
parente90a06ae570fd259a2f5ced873c7f17390f535a5 (diff)
- (dtucker) [platform.c platform.h sshd.c] bz#2156: restore Linux oom_adj
setting when handling SIGHUP to maintain behaviour over retart. Patch from Matthew Ife.
-rw-r--r--ChangeLog5
-rw-r--r--platform.c10
-rw-r--r--platform.h3
-rw-r--r--sshd.c1
4 files changed, 17 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index df8249779..c7a7146fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
120130922
2 - (dtucker) [platform.c platform.h sshd.c] bz#2156: restore Linux oom_adj
3 setting when handling SIGHUP to maintain behaviour over retart. Patch
4 from Matthew Ife.
5
120130918 620130918
2 - (dtucker) [sshd_config] Trailing whitespace; from jstjohn at purdue edu. 7 - (dtucker) [sshd_config] Trailing whitespace; from jstjohn at purdue edu.
3 8
diff --git a/platform.c b/platform.c
index 3262b2478..6d896c229 100644
--- a/platform.c
+++ b/platform.c
@@ -1,4 +1,4 @@
1/* $Id: platform.c,v 1.19 2013/03/12 00:31:05 dtucker Exp $ */ 1/* $Id: platform.c,v 1.20 2013/09/22 09:02:40 dtucker Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2006 Darren Tucker. All rights reserved. 4 * Copyright (c) 2006 Darren Tucker. All rights reserved.
@@ -55,6 +55,14 @@ platform_pre_fork(void)
55} 55}
56 56
57void 57void
58platform_pre_restart(void)
59{
60#ifdef LINUX_OOM_ADJUST
61 oom_adjust_restore();
62#endif
63}
64
65void
58platform_post_fork_parent(pid_t child_pid) 66platform_post_fork_parent(pid_t child_pid)
59{ 67{
60#ifdef USE_SOLARIS_PROCESS_CONTRACTS 68#ifdef USE_SOLARIS_PROCESS_CONTRACTS
diff --git a/platform.h b/platform.h
index 19f6bfdd3..1c7a45d8f 100644
--- a/platform.h
+++ b/platform.h
@@ -1,4 +1,4 @@
1/* $Id: platform.h,v 1.8 2013/03/12 00:31:05 dtucker Exp $ */ 1/* $Id: platform.h,v 1.9 2013/09/22 09:02:40 dtucker Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2006 Darren Tucker. All rights reserved. 4 * Copyright (c) 2006 Darren Tucker. All rights reserved.
@@ -22,6 +22,7 @@
22 22
23void platform_pre_listen(void); 23void platform_pre_listen(void);
24void platform_pre_fork(void); 24void platform_pre_fork(void);
25void platform_pre_restart(void);
25void platform_post_fork_parent(pid_t child_pid); 26void platform_post_fork_parent(pid_t child_pid);
26void platform_post_fork_child(void); 27void platform_post_fork_child(void);
27int platform_privileged_uidswap(void); 28int platform_privileged_uidswap(void);
diff --git a/sshd.c b/sshd.c
index 3efe170e0..7e3b60f9f 100644
--- a/sshd.c
+++ b/sshd.c
@@ -315,6 +315,7 @@ static void
315sighup_restart(void) 315sighup_restart(void)
316{ 316{
317 logit("Received SIGHUP; restarting."); 317 logit("Received SIGHUP; restarting.");
318 platform_pre_restart();
318 close_listen_socks(); 319 close_listen_socks();
319 close_startup_pipes(); 320 close_startup_pipes();
320 alarm(0); /* alarm timer persists across exec */ 321 alarm(0); /* alarm timer persists across exec */