Esempio n. 1
0
static int
dbus_restart(const struct sol_platform_linux_micro_module *mod, const char *service)
{
    if (!fork_run)
        return dbus_start(mod, service);

    return sol_platform_linux_fork_run_send_signal(fork_run, SIGHUP);
}
Esempio n. 2
0
int
process_subprocess_stop_process(struct sol_flow_node *node, void *data, uint16_t port, uint16_t conn_id,
    const struct sol_flow_packet *packet)
{
    struct subprocess_data *mdata = data;

    if (!mdata->fork_run)
        return 0;

    sol_platform_linux_fork_run_send_signal(mdata->fork_run, SIGTERM);
    return 0;
}
Esempio n. 3
0
int
process_subprocess_signal_process(struct sol_flow_node *node, void *data, uint16_t port, uint16_t conn_id,
    const struct sol_flow_packet *packet)
{
    struct subprocess_data *mdata = data;
    int32_t value;
    int ret;

    SOL_NULL_CHECK(mdata->fork_run, -EINVAL);
    ret = sol_flow_packet_get_irange_value(packet, &value);
    SOL_INT_CHECK(ret, < 0, ret);

    sol_platform_linux_fork_run_send_signal(mdata->fork_run, value);

    return 0;
}
Esempio n. 4
0
static int
dbus_stop(const struct sol_platform_linux_micro_module *mod, const char *service, bool force_immediate)
{
    int err = 0;

    if (!fork_run)
        return 0;

    if (!force_immediate)
        err = sol_platform_linux_fork_run_send_signal(fork_run, SIGTERM);
    else {
        sol_platform_linux_fork_run_stop(fork_run);
        fork_run = NULL;
    }

    if (check_timeout) {
        sol_timeout_del(check_timeout);
        check_timeout = NULL;
    }

    return err;
}
Esempio n. 5
0
static int
bluetooth_stop(const struct sol_platform_linux_micro_module *mod,
    const char *service,
    bool force_immediate)
{
    static const char *DBUS = "dbus";
    int err = 0;

    if (!fork_run)
        return 0;

    if (!force_immediate)
        err = sol_platform_linux_fork_run_send_signal(fork_run, SIGTERM);
    else {
        sol_platform_linux_fork_run_stop(fork_run);
        fork_run = NULL;
    }

    sol_platform_del_service_monitor
        (on_dbus_service_state_changed, DBUS, NULL);

    return err;
}