From patchwork Wed Mar 22 23:34:11 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 3071 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.50.79 with SMTP id y76csp543800vsy; Wed, 22 Mar 2017 16:36:00 -0700 (PDT) X-Received: by 10.28.18.21 with SMTP id 21mr26475wms.77.1490225760722; Wed, 22 Mar 2017 16:36:00 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h28si4810728wmi.157.2017.03.22.16.36.00; Wed, 22 Mar 2017 16:36:00 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9E78C68975F; Thu, 23 Mar 2017 01:34:44 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f193.google.com (mail-qt0-f193.google.com [209.85.216.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BF508688345 for ; Thu, 23 Mar 2017 01:34:37 +0200 (EET) Received: by mail-qt0-f193.google.com with SMTP id r45so27282540qte.0 for ; Wed, 22 Mar 2017 16:34:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=xqKjHEgrnhDLgvy/rqiXaFQ5Ape0TfIZltVZ1sKePYI=; b=Vck9/Au8cTIGXuK/wUM4Z4vyc0mwZLlEhvxOaikCPuEoQ4x2NlaAnFnPdXWrbUY/13 JJ9Aqz2z5XXxCwRP+0OdMUip1rmpUyUgNrzE6XvhgvLKrxzzvL9lVYWRJ90g7LYokaXY DWnST00/5UWppU0szgGShNX6Wnnhck+PV0qPFah+Dv3U3fLibYRxPbqpBbaxvqRqdeAw 2BLeRPIPWhdz00VSYEdrfAg93mlpWx6lN8eddTnZOjOGZC0yGR9uW0+XAeSCvoC2XfX9 cSHQCSoCOJLWqU4oy2A9vXCGyMT795RrW1YPTmoX/O+LA/DNzlwQFdli9CLzLhOeVPIj r2Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=xqKjHEgrnhDLgvy/rqiXaFQ5Ape0TfIZltVZ1sKePYI=; b=NOc8qwqbyknP4DuhJi8bGuHyLyNJ9EWhrTBun52YnPa6KQOamt7/t1Gg4c/Zy9EbL7 EhEWV6M7tGCGiWWQ7i4+/7GL7jk9VMgyIzOaAyBHpaziBdJxl9T84HFkaZPSrwph2weD 9e9AuDxeo8W8gI/5OHQRrV9t2a3JJeYAEeODP9Hp8dDHA+BCRgPA3iiWx32KxkJvzELc ZMH4mlBmKqIbXHEapmsX1UixAWd/xoq7XnjRty3syGxuWtWcTCjTBpuxHHaZGZ3DXBNC fEP855a8hG/ZGfzHxsSaXGu/RVSEoqNKDL74wdkhwm0kmmHeexDSU5epEadgIKO1Hu4o +5HA== X-Gm-Message-State: AFeK/H3xvWeNY/xn+LsEEY1iW1qBYg+s3tO0D5sO94au0whYBuDr7R1f3392TelnmprsGQ== X-Received: by 10.200.47.129 with SMTP id l1mr40655552qta.112.1490225695638; Wed, 22 Mar 2017 16:34:55 -0700 (PDT) Received: from localhost.localdomain ([181.231.62.139]) by smtp.gmail.com with ESMTPSA id w55sm2055133qtw.9.2017.03.22.16.34.54 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 22 Mar 2017 16:34:55 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Mar 2017 20:34:11 -0300 Message-Id: <20170322233412.6952-7-jamrial@gmail.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170322233412.6952-1-jamrial@gmail.com> References: <20170322233412.6952-1-jamrial@gmail.com> Subject: [FFmpeg-devel] [PATCH 6/7] avutil/opencl: convert to stdatomic X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: James Almer --- libavutil/opencl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavutil/opencl.c b/libavutil/opencl.c index af35770e06..9b6c8d10d8 100644 --- a/libavutil/opencl.c +++ b/libavutil/opencl.c @@ -29,7 +29,7 @@ #if HAVE_THREADS #include "thread.h" -#include "atomic.h" +#include static pthread_mutex_t * volatile atomic_opencl_lock = NULL; #define LOCK_OPENCL pthread_mutex_lock(atomic_opencl_lock) @@ -351,13 +351,14 @@ static inline int init_opencl_mtx(void) if (!atomic_opencl_lock) { int err; pthread_mutex_t *tmp = av_malloc(sizeof(pthread_mutex_t)); + const pthread_mutex_t *cmp = NULL; if (!tmp) return AVERROR(ENOMEM); if ((err = pthread_mutex_init(tmp, NULL))) { av_free(tmp); return AVERROR(err); } - if (avpriv_atomic_ptr_cas((void * volatile *)&atomic_opencl_lock, NULL, tmp)) { + if (!atomic_compare_exchange_strong(&atomic_opencl_lock, &cmp, tmp)) { pthread_mutex_destroy(tmp); av_free(tmp); }