Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
GPtrArray *loaded_plugins;
GPtrArray *loaded_plugins;
+#ifdef __MINGW32__
+#include <windows.h>
+
+static
+BOOL WINAPI signal_handler(DWORD signal) {
+ if (the_graph) {
+ bt_graph_cancel(the_graph);
+ }
+
+ canceled = true;
+
+ return TRUE;
+}
+
-void sigint_handler(int signum)
+void set_signal_handler(void)
+{
+ if (!SetConsoleCtrlHandler(signal_handler, TRUE)) {
+ BT_LOGE("Failed to set the ctrl+c handler.");
+ }
+}
+#else /* __MINGW32__ */
+static
+void signal_handler(int signum)
{
if (signum != SIGINT) {
return;
{
if (signum != SIGINT) {
return;
+static
+void set_signal_handler(void)
+{
+ struct sigaction new_action, old_action;
+
+ new_action.sa_handler = signal_handler;
+ sigemptyset(&new_action.sa_mask);
+ new_action.sa_flags = 0;
+ sigaction(SIGINT, NULL, &old_action);
+
+ if (old_action.sa_handler != SIG_IGN) {
+ sigaction(SIGINT, &new_action, NULL);
+ }
+}
+#endif /* __MINGW32__ */
+
static
void init_static_data(void)
{
static
void init_static_data(void)
{
-static
-void set_sigint_handler(void)
-{
- struct sigaction new_action, old_action;
-
- new_action.sa_handler = sigint_handler;
- sigemptyset(&new_action.sa_mask);
- new_action.sa_flags = 0;
- sigaction(SIGINT, NULL, &old_action);
-
- if (old_action.sa_handler != SIG_IGN) {
- sigaction(SIGINT, &new_action, NULL);
- }
-}
-
int main(int argc, const char **argv)
{
int ret;
int main(int argc, const char **argv)
{
int ret;
struct bt_config *cfg;
init_log_level();
struct bt_config *cfg;
init_log_level();
init_static_data();
cfg = bt_config_cli_args_create_with_default(argc, argv, &retcode);
init_static_data();
cfg = bt_config_cli_args_create_with_default(argc, argv, &retcode);