vsonnier
9bf25b8feb
Fix #739 : removed usage of std::binary_function deprecated after C++11
2019-06-02 18:56:00 +02:00
vsonnier
5ab44e3104
Use spin-locks for short-lived, non-recursive locking sequences
2019-03-03 10:36:10 +01:00
vsonnier
00c0693574
Fix #675 cut-n-paste giving wrong demod data queue (thanks @GkvJeep) plus boost of AudioThread queue size to prevent stuttering at very high CPU loads
2018-08-31 20:21:45 +02:00
vsonnier
927d727a16
Try not to use atomics in performance code
2017-09-22 22:53:59 +02:00
vsonnier
c64baab99d
Threads vs. Queues lifetimes, cleanups.
...
- Ideally Queues must outlive the threads using them, but wasn't done so. Yes, std::shared_ptr them!
- Now queues are always valid in the context of the threads using them.
- No longer need tedious queues deallocation by the original owner.
- Misc cleanups.
2017-08-13 19:19:25 +02:00
vsonnier
a0526f757e
ReBuffer somewhat cleaner, safer code
2017-05-26 10:29:47 +02:00
vsonnier
44cdfa8521
Make ReBuffer also GC its own memory + cleanups:
...
- Use deque in ReBuffer instead of vector (as before) because it allows freeing its memory
- Random cleanup: remove mutable when not needed.
2017-05-25 16:39:01 +02:00
vsonnier
9b0ce69e8f
Use the nuclear option to solve the hung problem:
...
Besides deadlocks, a thread can in theory get stuck in a blocking pop(),
not seeing the stopping flag in particular. So assure liveness by making all
pop() timed pop.
2017-05-25 09:32:27 +02:00
vsonnier
4b323e9863
Make ReBuffer refcount management automatic, using std::shared_ptr:
...
- No longer need to call setRefCount() / decRefCount()
- Restore old ThreadBlockingQueue using std::deque, for std::shared_ptr correct behaviour.
2017-05-24 12:28:37 +02:00
vsonnier
25f7ba386d
BLOCKING_QUEUE: remove ThreadBlockingQueue dependency to ThreadQueue, remove ThreadQueue.h from CMakeLists
2017-02-14 18:42:11 +01:00
vsonnier
1a53e454ab
FIX: missing demod displays due to wrong input/queue setups order
2017-01-08 12:46:31 +01:00
Charles J. Cliffe
3ec14fbe38
Licence fix, add SPDX-License-Identifier, remove unused code files
2017-01-02 21:07:43 -05:00
vsonnier
52de909cfb
THREAD_CLEAN: Clearly distinguish between a request to stop by terminate() from the actual termination isTerminated()
2016-06-28 22:16:34 +02:00
vsonnier
4ec08b8b68
MISC 1 : Create ReBuffer by default with refcount 1, so remove redundant refCount(1) evertwhere
2016-06-09 19:38:20 +02:00
Charles J. Cliffe
9c10e2baaf
comment index debugging
2016-06-08 22:08:14 -04:00
Charles J. Cliffe
1dba16b15f
comment some debug logging
2016-06-08 21:54:02 -04:00
Charles J. Cliffe
0067e309d1
more debugging; fix some potential refcount leaks...
2016-06-08 21:31:52 -04:00
Charles J. Cliffe
b54ab38a47
More minor tweaks; getBuffer refcount 1 init suggestion from @vsonnier
2016-06-08 19:48:46 -04:00
Charles J. Cliffe
037be13fac
Rebuffer Garbage collector; mostly to pinpoint/gracefully handle ReBuffer failures
2016-06-07 19:54:36 -04:00
vsonnier
5bb43f5aaa
Replace mutex lock/unlock pairs with guards, cleanups
2016-06-03 18:45:03 +02:00
vsonnier
c3d949ddba
MISC 3: Make the whole BufferType life-cycle and recycling properly guarded against concurrent access
2016-06-01 19:51:01 +02:00
vsonnier
fc4fa3e74f
MISC 2: Make ReferenceCounter refcount itself protected by the same mutex of the whole class, for state consistency
2016-06-01 19:46:45 +02:00
vsonnier
357dcc967b
MISC 1: make IOThread input and output queues returned as ThreadQueueBase*, not void*, cleaner.
...
then use static_cast for downcasts, because we know what we are doing
2016-06-01 19:42:11 +02:00
Charles J. Cliffe
cdc80b890b
Add ReBuffer buffer count warning, fix SDRPostThread off-by-one channel reset
2015-12-04 22:10:51 -05:00
Charles J. Cliffe
a1bf5b839e
Prototype waterfall rate smoothing / fps matching
2015-09-09 23:29:38 -04:00
Charles J. Cliffe
1d5a2f1ac7
Fix for an initial priming overload and visuals memory leak
2015-08-12 21:45:02 -04:00
Charles J. Cliffe
847f7a7569
Automatic ReBuffer<> garbage collection of unused buffers
2015-08-11 21:19:55 -04:00
Charles J. Cliffe
d53aabf73a
DemodulatorPreThread convert to IOThread named queues
2015-07-29 22:52:54 -04:00
Charles J. Cliffe
05cd99bbf1
IOThread all the things!
2015-07-29 20:57:02 -04:00
Charles J. Cliffe
3ab8669d06
Initial IOThread prototype
2015-07-29 18:34:58 -04:00