[Marble-devel] Review Request: Clean gpsd position provider shutdown

Dennis Nienhüser earthwings at gentoo.org
Fri Apr 23 21:38:29 CEST 2010


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/3794/
-----------------------------------------------------------

Review request for marble.


Summary
-------

When gpsd is running, but no data is available, the gpsd position provider is currently blocked indefinitely for libgsp >= 2.90 by the poll() call. In that case the destruction of the thread hangs in wait() after terminate(), which leads to marble freezing when turning gpsd off. It may also cause the crash reported in https://bugs.kde.org/show_bug.cgi?id=234311.

The patch changes the behavior to only call the blocking method when data is available (and it won't block in that case). Additionally it removes the possibly dangerous (according to qt docs) terminate() call.


This addresses bug 234311.
    https://bugs.kde.org/show_bug.cgi?id=234311


Diffs
-----

  /trunk/KDE/kdeedu/marble/src/plugins/positionprovider/gpsd/GpsdConnection.cpp 1117994 
  /trunk/KDE/kdeedu/marble/src/plugins/positionprovider/gpsd/GpsdPositionProviderPlugin.cpp 1117994 

Diff: http://reviewboard.kde.org/r/3794/diff


Testing
-------

Using libgps-2.92-4 and some gps device supported by gpsd.


Thanks,

Dennis



More information about the Marble-devel mailing list