lib/dbus/Glue: move Connect()/Disconnect() calls to I/O thread
This commit is contained in:
		| @@ -19,9 +19,22 @@ | ||||
|  | ||||
| #include "config.h" | ||||
| #include "Glue.hxx" | ||||
| #include "event/Call.hxx" | ||||
|  | ||||
| namespace ODBus { | ||||
|  | ||||
| void | ||||
| Glue::ConnectIndirect() | ||||
| { | ||||
| 	BlockingCall(GetEventLoop(), [this](){ Connect(); }); | ||||
| } | ||||
|  | ||||
| void | ||||
| Glue::DisconnectIndirect() | ||||
| { | ||||
| 	BlockingCall(GetEventLoop(), [this](){ Disconnect(); }); | ||||
| } | ||||
|  | ||||
| void | ||||
| Glue::Connect() | ||||
| { | ||||
|   | ||||
| @@ -35,11 +35,11 @@ class Glue final : ODBus::WatchManagerObserver { | ||||
| public: | ||||
| 	explicit Glue(EventLoop &event_loop) | ||||
| 		:watch(event_loop, *this) { | ||||
| 		Connect(); | ||||
| 		ConnectIndirect(); | ||||
| 	} | ||||
|  | ||||
| 	~Glue() noexcept { | ||||
| 		Disconnect(); | ||||
| 		DisconnectIndirect(); | ||||
| 	} | ||||
|  | ||||
| 	EventLoop &GetEventLoop() noexcept { | ||||
| @@ -51,6 +51,9 @@ public: | ||||
| 	} | ||||
|  | ||||
| private: | ||||
| 	void ConnectIndirect(); | ||||
| 	void DisconnectIndirect(); | ||||
|  | ||||
| 	void Connect(); | ||||
| 	void Disconnect(); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Max Kellermann
					Max Kellermann