g_free(unit_name);
}
-static int _systemd_control_unit_sync(const char *method, const char *name, int timeout_msec)
+static int _systemd_control_unit_wait(const char *method, const char *name, int timeout_msec)
{
GVariant *reply = NULL;
gchar *objpath = NULL;
}
/*
-_systemd_start_unit_internal
+_systemd_control_unit
Start or Stop systemd unit.
- 1) synchronous
+ 1) Wait for started/stopped
- Send StartUnit/StopUnit Method call(sync)
reply:(o):/org/freedesktop/systemd1/job/[jobid]
- Wait JobRemoved signal from systemd
(uoss):(uint32 [jobid], objectpath '/org/freedesktop/systemd1/job/[jobid]', '[unit name]', '[result]')
- 2) asynchronous
+ 2) Asynchronous
- Send StartUnit/StopUnit Method call(sync)
@param name: unit name
@param sync: %TRUE
Returns: the exit status
*/
-static int _systemd_start_unit_internal(const char *name, const char *suffix,
- int timeout_msec, const char *method, int sync)
+static int _systemd_control_unit(const char *name, const char *suffix,
+ int timeout_msec, const char *method, int wait)
{
char *new_name = NULL;
int ret = 0;
}
}
- if (sync)
- ret = _systemd_control_unit_sync(method, name, timeout_msec);
+ if (wait)
+ ret = _systemd_control_unit_wait(method, name, timeout_msec);
else
ret = _systemd_control_unit_async(method, name);
return ret;
}
-int systemd_start_unit_sync(const char *name, const char *suffix, int timeout_msec)
+int systemd_start_unit_wait_started(const char *name, const char *suffix, int timeout_msec)
{
- return _systemd_start_unit_internal(name, suffix, timeout_msec, "StartUnit", TRUE);
+ return _systemd_control_unit(name, suffix, timeout_msec, "StartUnit", TRUE);
}
-int systemd_stop_unit_sync(const char *name, const char *suffix, int timeout_msec)
+int systemd_stop_unit_wait_stopped(const char *name, const char *suffix, int timeout_msec)
{
- return _systemd_start_unit_internal(name, suffix, timeout_msec, "StopUnit", TRUE);
+ return _systemd_control_unit(name, suffix, timeout_msec, "StopUnit", TRUE);
}
int systemd_start_unit_async(const char *name, const char *suffix)
{
- return _systemd_start_unit_internal(name, suffix, -1, "StartUnit", FALSE);
+ return _systemd_control_unit(name, suffix, -1, "StartUnit", FALSE);
}
int systemd_stop_unit_async(const char *name, const char *suffix)
{
- return _systemd_start_unit_internal(name, suffix, -1, "StopUnit", FALSE);
+ return _systemd_control_unit(name, suffix, -1, "StopUnit", FALSE);
}
#define SYSTEMD_UNIT_ESCAPE_CHAR ".-"