From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
To: linux-bluetooth@vger.kernel.org
Subject: [PATCH BlueZ 4/6] core: Use mainloop_notify instead of sd_notify
Date: Mon, 26 Nov 2018 18:24:36 +0200 [thread overview]
Message-ID: <20181126162438.27872-4-luiz.dentz@gmail.com> (raw)
In-Reply-To: <20181126162438.27872-1-luiz.dentz@gmail.com>
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
mainloop_notify takes care of sending the messages to NOTIFY_SOCKET
and includes the handling of WATCHDOG_USEC as well.
---
src/main.c | 50 ++++++++++----------------------------------------
1 file changed, 10 insertions(+), 40 deletions(-)
diff --git a/src/main.c b/src/main.c
index 4716f5388..f2e0dd050 100644
--- a/src/main.c
+++ b/src/main.c
@@ -51,6 +51,7 @@
#include "backtrace.h"
#include "shared/att-types.h"
+#include "shared/mainloop.h"
#include "lib/uuid.h"
#include "hcid.h"
#include "sdpd.h"
@@ -59,7 +60,6 @@
#include "dbus-common.h"
#include "agent.h"
#include "profile.h"
-#include "systemd.h"
#define BLUEZ_NAME "org.bluez"
@@ -486,11 +486,9 @@ static void log_handler(const gchar *log_domain, GLogLevelFlags log_level,
btd_backtrace(0xffff);
}
-static GMainLoop *event_loop;
-
void btd_exit(void)
{
- g_main_loop_quit(event_loop);
+ mainloop_quit();
}
static gboolean quit_eventloop(gpointer user_data)
@@ -524,7 +522,7 @@ static gboolean signal_handler(GIOChannel *channel, GIOCondition cond,
g_timeout_add_seconds(SHUTDOWN_GRACE_SECONDS,
quit_eventloop, NULL);
- sd_notify(0, "STATUS=Powering down");
+ mainloop_notify("STATUS=Powering down");
adapter_shutdown();
}
@@ -616,7 +614,7 @@ static void disconnect_dbus(void)
static void disconnected_dbus(DBusConnection *conn, void *data)
{
info("Disconnected from D-Bus. Exiting.");
- g_main_loop_quit(event_loop);
+ mainloop_quit();
}
static int connect_dbus(void)
@@ -644,13 +642,6 @@ static int connect_dbus(void)
return 0;
}
-static gboolean watchdog_callback(gpointer user_data)
-{
- sd_notify(0, "WATCHDOG=1");
-
- return TRUE;
-}
-
static gboolean parse_debug(const char *key, const char *value,
gpointer user_data, GError **error)
{
@@ -691,8 +682,7 @@ int main(int argc, char *argv[])
uint16_t sdp_mtu = 0;
uint32_t sdp_flags = 0;
int gdbus_flags = 0;
- guint signal, watchdog;
- const char *watchdog_usec;
+ guint signal;
init_defaults();
@@ -719,7 +709,7 @@ int main(int argc, char *argv[])
btd_backtrace_init();
- event_loop = g_main_loop_new(NULL, FALSE);
+ mainloop_init();
signal = setup_signalfd();
@@ -729,7 +719,7 @@ int main(int argc, char *argv[])
G_LOG_FLAG_RECURSION,
log_handler, NULL);
- sd_notify(0, "STATUS=Starting up");
+ mainloop_notify("STATUS=Starting up");
if (option_configfile)
main_conf_file_path = option_configfile;
@@ -788,26 +778,11 @@ int main(int argc, char *argv[])
DBG("Entering main loop");
- sd_notify(0, "STATUS=Running");
- sd_notify(0, "READY=1");
+ mainloop_notify("STATUS=Running");
- watchdog_usec = getenv("WATCHDOG_USEC");
- if (watchdog_usec) {
- unsigned int seconds;
+ mainloop_run();
- seconds = atoi(watchdog_usec) / (1000 * 1000);
- info("Watchdog timeout is %d seconds", seconds);
-
- watchdog = g_timeout_add_seconds_full(G_PRIORITY_HIGH,
- seconds / 2,
- watchdog_callback,
- NULL, NULL);
- } else
- watchdog = 0;
-
- g_main_loop_run(event_loop);
-
- sd_notify(0, "STATUS=Quitting");
+ mainloop_notify("STATUS=Quitting");
g_source_remove(signal);
@@ -824,8 +799,6 @@ int main(int argc, char *argv[])
if (main_opts.mode != BT_MODE_LE)
stop_sdp_server();
- g_main_loop_unref(event_loop);
-
if (main_conf)
g_key_file_free(main_conf);
@@ -833,9 +806,6 @@ int main(int argc, char *argv[])
info("Exit");
- if (watchdog > 0)
- g_source_remove(watchdog);
-
__btd_log_cleanup();
return 0;
--
2.17.2
next prev parent reply other threads:[~2018-11-26 16:24 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-26 16:24 [PATCH BlueZ 1/6] share/mainloop: Add handling of NOTIFY_SOCKET Luiz Augusto von Dentz
2018-11-26 16:24 ` [PATCH BlueZ 2/6] share/mainloop: Add watchdog support Luiz Augusto von Dentz
2018-11-26 16:24 ` [PATCH BlueZ 3/6] tool/btmon-logger: Use mainloop_notify instead of sd_notify Luiz Augusto von Dentz
2018-11-26 16:24 ` Luiz Augusto von Dentz [this message]
2018-11-26 16:24 ` [PATCH BlueZ 5/6] core: Remove old code related to sd_notify Luiz Augusto von Dentz
2018-11-26 16:24 ` [PATCH BlueZ 6/6] shared/timeout-glib: Check 0 id when removing timeout Luiz Augusto von Dentz
2018-11-26 17:54 ` [PATCH BlueZ 1/6] share/mainloop: Add handling of NOTIFY_SOCKET Marcel Holtmann
2018-11-27 9:51 ` Luiz Augusto von Dentz
2018-11-27 13:30 ` Marcel Holtmann
2018-11-27 15:19 ` Luiz Augusto von Dentz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181126162438.27872-4-luiz.dentz@gmail.com \
--to=luiz.dentz@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).