Dbus-service is a project mainly written in SHELL and C, based on the GPL-3.0 license.
A DBus service based on libevent
I handled wakeup function just like what wpa_supplicant did. Used SIGPOLL to signal main loop to handle the incoming messages.
Alternative: Maybe I can create a timeout event in main loop when running wakeup function.