Skip to content

Fix stalls in error handling of DBus updates

Carlos Garnacho requested to merge carlosg/tracker:wip/fix-stall into master

From the main commit:

    bus: Write SPARQL queries asynchronously
    
    Write SPARQL queries asynchronously, in all of our update(_async)
    and batch operations. This means we wait for both the DBus message
    and the FD write responses to consider the operation finished,
    like we already do for deserialization.

This fixes situations where a series of SPARQL updates fail without the bus TrackerSparqlConnection user realizing of the failure through the closed pipe. Turning everything asynchronous makes the bus TrackerSparqlConnection able to stop as expected when the pipe is closed on the other end.

Closes: tracker-miners#328 (closed)

Merge request reports