Re: [vdr] [PATCH] Add thread safety to cRingBufferLinear

2023-02-19 Thread Patrick Lerda
On 15/02/2023 16:51, Klaus Schmidinger wrote: On 09.02.23 23:31, Patrick Lerda wrote: ... This is really related to the C++ thread safety model, the patch below fixes the main cRingBufferLinear issue: diff --git a/ringbuffer.h b/ringbuffer.h index 746fc51..a3fa499 100644 --- a/ringbuffer.h

Re: [vdr] [PATCH] Fix cThread related race conditions

2023-02-19 Thread Patrick Lerda
On 18/02/2023 11:10, Marko Mäkelä wrote: Wed, Feb 15, 2023 at 05:17:55PM +0100, Klaus Schmidinger wrote: On 02.02.23 21:56, Patrick Lerda wrote: ... diff --git a/thread.c b/thread.c index 93eb8c0..21be7a4 100644 --- a/thread.c +++ b/thread.c @@ -312,13 +312,16 @@ bool cThread::Start(void

Re: [vdr] [PATCH] Fix cThread related race conditions

2023-02-19 Thread Patrick Lerda
On 15/02/2023 17:17, Klaus Schmidinger wrote: On 02.02.23 21:56, Patrick Lerda wrote: ... diff --git a/thread.c b/thread.c index 93eb8c0..21be7a4 100644 --- a/thread.c +++ b/thread.c @@ -312,13 +312,16 @@ bool cThread::Start(void) cCondWait::SleepMs(THREAD_STOP_SLEEP

Re: [vdr] [PATCH] Add thread safety to cRingBufferLinear

2023-02-06 Thread Patrick Lerda
On 03/02/2023 10:36, Klaus Schmidinger wrote: On 02.02.23 23:47, patrick9...@free.fr wrote: On 02/02/2023 23:27, Klaus Schmidinger wrote: On 02.02.23 23:16, Patrick Lerda wrote: Beside preventing crashes with vdr-2.6.3 this is required to get vdr to work properly with the gcc thread sanitizer

Re: [vdr] [PATCH] Add thread safety to cRingBufferLinear

2023-02-09 Thread Patrick Lerda
On 07/02/2023 07:59, Marko Mäkelä wrote: Tue, Feb 07, 2023 at 12:54:16AM +0100, Udo Richter wrote: Two-ended buffers are pretty good when used correctly, but nowadays they have a small chance of triggering memory ordering issues, where it is possible that written data to the buffer is still

[vdr] [PATCH] Fix cThread related race conditions

2023-02-02 Thread Patrick Lerda
This change fixes the following issue: ==15457==ERROR: AddressSanitizer: SEGV on unknown address 0x02d0 (pc 0x7fd2f4301710 bp 0x7fd2b5552a30 sp 0x7fd2b5552988 T228) ==15457==The signal is caused by a READ memory access. ==15457==Hint: address points to the zero page. #0

[vdr] [PATCH] Add thread safety to cRingBufferLinear

2023-02-02 Thread Patrick Lerda
Beside preventing crashes with vdr-2.6.3 this is required to get vdr to work properly with the gcc thread sanitizer. --- ringbuffer.c | 18 +- ringbuffer.h | 3 +++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ringbuffer.c b/ringbuffer.c index 902c887..1c24df2