Commit 22364567 authored by Michael Niedermayer's avatar Michael Niedermayer

avfilter/avfilter: Make avfilter_register() thread safe

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 16310e36
......@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "libavutil/atomic.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/channel_layout.h"
......@@ -465,11 +466,11 @@ int avfilter_register(AVFilter *filter)
|| (!input->start_frame && !input->end_frame));
}
while (*f)
f = &(*f)->next;
*f = filter;
filter->next = NULL;
while(avpriv_atomic_ptr_cas((void * volatile *)f, NULL, filter))
f = &(*f)->next;
return 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment