Review request for kdelibs, KTorrent, Joris Guisson, and Thiago Macieira.
By Christoph Feck.
Updated July 19, 2012, 1:55 a.m.
Description
This is my attempt to fix the crash. As far as I followed the code, the crash is because of m_group == 0 in serverStateChanged() when the avahi server is initially "registering" or in "collision", and not "running" yet. When e.g. KTorrent starts, it is possible that the avahi server needs some time until it is fully setup. The m_group is initialized when the first tryApply() is called, which only happens when server is initially in "running" state.
Additionally, the m_running variable was never reset to false in stop(), so the (sync) publish() would never return on failure.
|
Testing
I have no idea what avahi is or how it works, so I did not test it.
|
Diffs
- dnssd/avahi-publicservice.cpp (52bef22)
View Diff
|