Skip to content

libtracker-sparql: Close descriptors asynchronously in TrackerEndpointDBus

Carlos Garnacho requested to merge wip/carlosg/stalls into master

The QueryRequest and UpdateRequest internal data structures may be freed from the thread that is handling endpoint requests. Avoid closing descriptors from that thread, this is esp. important with the write FDs since there might be data pending to be written and flushed, so it may be a time consuming operation, or it may even stall if the peer is busy with other things.

Also, make reading of SPARQL updates from a FD entirely asynchronous, instead of pushed forward chunk by chunk from the TrackerEndpointDBus main context.

Closes: #386 (closed)

Merge request reports