X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Ftimer.hpp;fp=src%2Fbin%2Flttng-sessiond%2Ftimer.hpp;h=f746f0ed9c6fba3689894cfcb0eb49b1a921eff9;hp=0000000000000000000000000000000000000000;hb=c9e313bc594f40a86eed237dce222c0fc99c957f;hpb=4878de5c7deb512bbdac4fdfc498907efa06fb7c diff --git a/src/bin/lttng-sessiond/timer.hpp b/src/bin/lttng-sessiond/timer.hpp new file mode 100644 index 000000000..f746f0ed9 --- /dev/null +++ b/src/bin/lttng-sessiond/timer.hpp @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2017 Julien Desfossez + * Copyright (C) 2018 Jérémie Galarneau + * + * SPDX-License-Identifier: GPL-2.0-only + * + */ + +#ifndef SESSIOND_TIMER_H +#define SESSIOND_TIMER_H + +#include +#include + +#include "session.hpp" + +struct timer_thread_parameters { + struct rotation_thread_timer_queue *rotation_thread_job_queue; +}; + +int timer_signal_init(void); + +/* Start a session's rotation pending check timer (one-shot mode). */ +int timer_session_rotation_pending_check_start(struct ltt_session *session, + unsigned int interval_us); +/* Stop a session's rotation pending check timer. */ +int timer_session_rotation_pending_check_stop(struct ltt_session *session); + +/* Start a session's rotation schedule timer. */ +int timer_session_rotation_schedule_timer_start(struct ltt_session *session, + unsigned int interval_us); +/* Stop a session's rotation schedule timer. */ +int timer_session_rotation_schedule_timer_stop(struct ltt_session *session); + +bool launch_timer_thread( + struct timer_thread_parameters *timer_thread_parameters); + +#endif /* SESSIOND_TIMER_H */