On Fri, May 30, 2008 at 4:23 PM, Simo Sorce <<a href="mailto:ssorce@redhat.com">ssorce@redhat.com</a>> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
</div>So it's hard to "reconnect" if DBUS goes down for any reason ?<br>
That doesn't really speak good for DBUS, because it is sure that for one<br>
reason or another it will go down at some point.<br>
Caliming that DBUS can never be restarted is putting your head under the<br>
sand. Bugs just happen, dbus might explode for who knows what reason,<br>
does it mean the machine should implode as well ?</blockquote><div><br>Sure.  All software has bugs.  I submit that it's far more likely for the kernel (or more specifically, drivers) or hardware flaws than DBus.<br>
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Good applications are usually built to reconnect when a transport they<br>
use becomes unavailable. if some network switch breaks for a few seconds<br>
down the road my connections have a good chance of surviving and if when<br>
connectivity is back things keep going as if nothing happened.</blockquote><div><br>Right.  You know how basically every mail client explodes error dialogs when your network connection happens to be broken for a bit?  Imagine those error dialogs popping up in your file browser because suddenly HAL went away during a software upgrade.  Not cool.<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">If it is a huge task we have worst problems, we have apps badly<br>
engineered.<br><div class="Ih2E3d"></div></blockquote><div><br>No.  Applications are not engineered to survive a kernel restart either.<br><br>Just think of DBus as a kernel extension.  Or from another view, there is precedent even in traditional Unix for privileged userspace processes - think init.  Just pretend that DBus happened to be implemented in the init process instead of as pid 2.<br>
<br></div></div>