On Fri, 2009-05-15 at 16:25 +0200, Christopher Lang wrote: > Dan, > > thanks, for pointing me into the right direction, the > https://bugzilla.redhat.com/show_bug.cgi?id=477964 has it all. > > > However I would like to point out a few inconsistencies, that are still > present in git repositories: > > 1. git repo from today, NetworkManager: > file NetworkManager/initscript/Arch/networkmanager.in > > This one is using --type=method_call \ in the dbus-send, which is > non-blocking, but makes dbus-send use "dbus_message_new_method_call" to set > up the message, rather than "dbus_message_new_signal"
I wasn't aware arch had that functionality actually; that should be fixed. > 2. git repo from today, pm-utils: > file pm-utils/pm/sleep.d/55NetworkManager > > This one still has the dbus-send without anything, no --print-reply and > no --type=method_call. right, I believe upstream pm-utils was leaning towards fixing dbus rather than this hack, but given that I don't believe upstream dbus will fix the issue soon, we may have to go back to pm-utils upstream and convince them to take the fix. The other thing I was going to do was just to ship the pm-utils files in NetworkManager, thus we can do what we want with them. Dan > 3. None of the current git repositores uses the --print-reply as suggested in > the above bug report. > > > Conclusion: > > Using dbus-send to send "sleep" or "wake" to NM is causing problems, due to > dbus sometimes loosing messages of short lived processes - this is known and > confirmed. > > Using --print-reply in NM related dbus-send calls is confirmed to work, but > is > highly questionable in my eyes, because it is blocking, worst case this will > block for the default dbus timeout value (is that 2 sec. or so?). > > > Using --type=method_call (which is in the NM initscript, but not yet in > pm-utils git) might or might not fix the sleep/wake issue that is caused by > dbus loosing messages of short lived processes. It forces dbus-send to use: > > dbus_message_new_method_call > dbus_connection_send (connection, message, NULL); > dbus_connection_flush (connection); > > where the "flush" according to dbus docs blocks until the message queue is > empty and so far *should* ensure our "sleep" or "wake " to go through. So it > should be used in pm-utils too. It is in NM git already. > > Chris > > http://www.acurana.de/ > > _______________________________________________ > NetworkManager-list mailing list > NetworkManager-list@gnome.org > http://mail.gnome.org/mailman/listinfo/networkmanager-list _______________________________________________ NetworkManager-list mailing list NetworkManager-list@gnome.org http://mail.gnome.org/mailman/listinfo/networkmanager-list