process_config_first_time_only (BusContext *context,
BusConfigParser *parser,
const DBusString *address,
- dbus_bool_t systemd_activation,
- dbus_bool_t write_pidfile,
+ BusContextFlags flags,
DBusError *error)
{
DBusString log_prefix;
_dbus_init_system_log ();
- context->systemd_activation = systemd_activation;
+ if (flags & BUS_CONTEXT_FLAG_SYSTEMD_ACTIVATION)
+ context->systemd_activation = TRUE;
+ else
+ context->systemd_activation = FALSE;
/* Check for an existing pid file. Of course this is a race;
* we'd have to use fcntl() locks on the pid file to
* before overwriting any existing sockets, etc.
*/
- if (write_pidfile)
+ if (flags & BUS_CONTEXT_FLAG_WRITE_PID_FILE)
pidfile = bus_config_parser_get_pidfile (parser);
if (pidfile != NULL)
BusContext*
bus_context_new (const DBusString *config_file,
- ForceForkSetting force_fork,
+ BusContextFlags flags,
DBusPipe *print_addr_pipe,
DBusPipe *print_pid_pipe,
const DBusString *address,
- dbus_bool_t systemd_activation,
- dbus_bool_t write_pidfile,
DBusError *error)
{
BusContext *context;
BusConfigParser *parser;
+ _dbus_assert ((flags & BUS_CONTEXT_FLAG_FORK_NEVER) == 0 ||
+ (flags & BUS_CONTEXT_FLAG_FORK_ALWAYS) == 0);
+
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
context = NULL;
goto failed;
}
- if (!process_config_first_time_only (context, parser, address, systemd_activation, write_pidfile, error))
+ if (!process_config_first_time_only (context, parser, address, flags, error))
{
_DBUS_ASSERT_ERROR_IS_SET (error);
goto failed;
if (context->pidfile)
_dbus_string_init_const (&u, context->pidfile);
- if ((force_fork != FORK_NEVER && context->fork) || force_fork == FORK_ALWAYS)
+ if (((flags & BUS_CONTEXT_FLAG_FORK_NEVER) == 0 && context->fork) ||
+ (flags & BUS_CONTEXT_FLAG_FORK_ALWAYS))
{
_dbus_verbose ("Forking and becoming daemon\n");