os-posix: Add os_set_daemonize()

The daemonizing functions in os-posix (os_daemonize() and
os_setup_post()) only daemonize the process if the static `daemonize`
variable is set.  Right now, it can only be set by os_parse_cmd_args().

In order to use os_daemonize() and os_setup_post() from the storage
daemon to have it be daemonized, we need some other way to set this
`daemonize` variable, because I would rather not tap into the system
emulator's arg-parsing code.  Therefore, this patch adds an
os_set_daemonize() function, which will return an error on os-win32
(because daemonizing is not supported there).

Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20220303164814.284974-2-hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Hanna Reitz 2022-03-03 17:48:11 +01:00 committed by Kevin Wolf
parent d5d2b15ecf
commit f22ac4727b
3 changed files with 15 additions and 0 deletions

View file

@ -317,6 +317,12 @@ bool is_daemonized(void)
return daemonize;
}
int os_set_daemonize(bool d)
{
daemonize = d;
return 0;
}
int os_mlock(void)
{
#ifdef HAVE_MLOCKALL