Edward Hervey
605cb6a4d4
gstpad: Avoid race in (un)setting EOS flag on sinkpads
...
The scenario is the following:
* Thread 1 is pushing an EOS event on a sinkpad
* Thread 2 is pushing a STREAM_START event on the same sinkpad before Thread 1
returns. Note : It starts pushing the event after Thread 1 took the object lock.
There is a potential race between:
* The moment Thread 1 sets the EOS flag once it has finished sending the
event (via store_sticky_event). When it does that it has both the STREAM and
OBJECT lock
* The moment Thread 2 sends the STREAM_START event (Which should release that
EOS status), but removing the EOS flag is only done while holding the OBJECT
lock and not the STREAM_LOCK, which means it could be re-set by Thread 1 before
it then checks again the EOS flag (without the STREAM lock taken).
The EOS flag unsetting by STREAM_START should be done with the STREAM lock
taken, otherwise it will be racy.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1452
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3320 >
2022-11-07 06:28:39 +01:00
..
2022-11-02 13:21:09 +00:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-09-13 19:53:40 +00:00
2022-08-31 14:20:58 +00:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-04-01 08:15:53 +00:00
2022-10-18 13:51:16 +03:00
2021-09-24 16:13:07 -03:00
2022-10-04 11:19:14 +00:00
2021-09-24 16:13:07 -03:00
2022-10-18 13:51:16 +03:00
2022-06-20 16:17:50 +00:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-10-18 13:51:16 +03:00
2022-10-18 13:51:16 +03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-05-11 08:59:37 +02:00
2021-09-24 16:13:07 -03:00
2022-01-20 10:59:56 +02:00
2021-09-24 16:13:07 -03:00
2022-11-02 13:21:09 +00:00
2022-11-02 13:21:09 +00:00
2022-06-10 06:01:41 +00:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-05-18 16:08:39 +00:00
2022-02-08 16:24:13 +11:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-07-12 11:57:02 +00:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-10-19 12:09:45 +00:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-10-18 13:51:16 +03:00
2021-09-24 16:13:07 -03:00
2022-10-19 12:09:45 +00:00
2021-11-19 13:38:18 +00:00
2021-09-24 16:13:07 -03:00
2022-04-19 18:01:06 +00:00
2021-09-24 16:13:07 -03:00
2022-10-18 13:51:16 +03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-10-18 13:51:16 +03:00
2021-11-16 16:32:55 +00:00
2022-10-04 11:19:14 +00:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-06-20 16:17:50 +00:00
2022-10-18 13:51:16 +03:00
2021-09-24 16:13:07 -03:00
2022-10-19 12:09:45 +00:00
2022-09-28 12:34:44 -06:00
2022-10-19 10:16:05 +00:00
2021-09-24 16:13:07 -03:00
2022-10-18 13:51:16 +03:00
2021-09-24 16:13:07 -03:00
2022-11-07 06:28:39 +01:00
2021-09-24 16:13:07 -03:00
2022-10-22 22:06:13 +09:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-10-18 13:51:16 +03:00
2021-09-24 16:13:07 -03:00
2022-10-18 13:51:16 +03:00
2021-09-24 16:13:07 -03:00
2022-05-29 12:36:42 +00:00
2021-09-24 16:13:07 -03:00
2022-01-13 23:19:39 +00:00
2021-09-24 16:13:07 -03:00
2022-08-31 16:54:24 +00:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-03-30 14:30:54 +00:00
2022-03-30 14:30:54 +00:00
2022-10-21 15:05:48 +00:00
2022-03-30 14:30:54 +00:00
2022-10-19 12:09:45 +00:00
2021-09-24 16:13:07 -03:00
2021-10-05 10:49:27 +00:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-10-20 05:53:20 +00:00
2021-09-24 16:13:07 -03:00
2022-10-18 13:51:16 +03:00
2022-07-19 20:54:31 +09:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-10-19 12:09:45 +00:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-10-18 13:51:16 +03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2022-06-29 21:05:14 +00:00
2022-06-29 21:05:14 +00:00
2021-09-24 16:13:07 -03:00
2021-09-24 16:13:07 -03:00
2021-11-12 11:39:19 +00:00
2021-09-24 16:13:07 -03:00
2022-10-25 09:45:25 +03:00
2021-09-24 16:13:07 -03:00
2022-10-18 13:51:16 +03:00
2021-09-24 16:13:07 -03:00
2022-10-19 12:09:45 +00:00
2021-09-25 01:29:38 +00:00
2022-07-28 08:52:13 +00:00
2021-09-24 16:13:07 -03:00
2022-09-01 21:17:35 +00:00