5077c207fd
- calling mlockall before corosync_tty_detach is noop when corosync is executed as a daemon(bsc#1038147) Added: 0002-Main-call-mlock-after-fork.patch OBS-URL: https://build.opensuse.org/request/show/493622 OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/corosync?expand=0&rev=86
47 lines
1.3 KiB
Diff
47 lines
1.3 KiB
Diff
From 3b89acd59f5113edb23ba41e2ce67f9c3b2880fb Mon Sep 17 00:00:00 2001
|
|
From: Bin Liu <bliu@suse.com>
|
|
Date: Tue, 9 May 2017 11:17:51 +0800
|
|
Subject: [PATCH] Main: call mlock after fork
|
|
|
|
Man page of mlockall is clear:
|
|
Memory locks are not inherited by a child created via fork(2) and are
|
|
automatically removed (unlocked) during an execve(2) or when the
|
|
process terminates.
|
|
|
|
So calling mlockall before corosync_tty_detach is noop when corosync is
|
|
executed as a daemon (corosync -f was not affected).
|
|
|
|
This regression is caused by ed7d054
|
|
(setprio for logsys/qblog was correct, mlockall was not).
|
|
|
|
Solution is to move corosync_mlockall call on correct place.
|
|
---
|
|
exec/main.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/exec/main.c b/exec/main.c
|
|
index 7d2dcf7c..b3fce95b 100644
|
|
--- a/exec/main.c
|
|
+++ b/exec/main.c
|
|
@@ -1201,8 +1201,6 @@ int main (int argc, char **argv, char **envp)
|
|
corosync_setscheduler ();
|
|
}
|
|
|
|
- corosync_mlockall ();
|
|
-
|
|
/*
|
|
* Other signals are registered later via qb_loop_signal_add
|
|
*/
|
|
@@ -1329,6 +1327,8 @@ int main (int argc, char **argv, char **envp)
|
|
corosync_tty_detach ();
|
|
}
|
|
|
|
+ corosync_mlockall();
|
|
+
|
|
corosync_poll_handle = qb_loop_create ();
|
|
|
|
memset(&scheduler_pause_timeout_data, 0, sizeof(scheduler_pause_timeout_data));
|
|
--
|
|
2.12.0
|
|
|