sccn / liblsl

C++ lsl library for multi-modal time-synched data transmission over the local network
Other
108 stars 63 forks source link

Concurrency fix and efficiency improvement at low srate from jfrey-xx #89

Closed chkothe closed 3 years ago

chkothe commented 3 years ago

This is a merger of #70 along with the queue fix from #71 (and some tweaks).

tstenner commented 3 years ago

So far, looking good. The locking seems fine to me and the benchmark that exhibited the crash / infinite loop runs through just fine. Two things: there are a bunch of indentation changes that make it hard to see what changed (or who changed a line last with git blame) and the commit authorship didn't survive the rebasing.

I've split the PR into two commits (@jfrey-xx's changes and yours) and once the CI is happy I'll merge it.

jfrey-xx commented 3 years ago

Thanks a lot for bringing in the changes! It will for sure help a lot here :) Very minor remark, but since I noticed it: in the changelog from https://github.com/tstenner/liblsl/commit/340d517d746cebe480a6072777dcc3398e109fb0 I believe that the race condition is actually from #71 ^^

tstenner commented 3 years ago

Thanks a lot for bringing in the changes! It will for sure help a lot here :) Very minor remark, but since I noticed it: in the changelog from tstenner@340d517 I believe that the race condition is actually from #71 ^^

fixed

chkothe commented 3 years ago

Ah sorry, my editor was still set to indent with 4 spaces instead of tabs.