From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id F3964386F83F for ; Fri, 22 May 2020 22:17:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org F3964386F83F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Julian_Brown@mentor.com IronPort-SDR: vO3OT/6lx4d7EhyNA9MAeZ0N9KeuFQ5w7vsRgmAg11FNd99XIHEzNVXB39gY9N3L/EaAiHHzrZ Cyj2mBe43fYl2QV2b84o8cdffg2GMWRPZnewgKGA28BxPogzjAs24Gv0WpcA3lfQBIF93xf9xz YDc8efhUIhqeuOb9Fs4D5H48yrH5+qUK9+P6V/1klwo8R0mOV4Gy+QllRmMFMoG7VyHSiI2Jju CgNosHOJL5Y6uyCapxR1X2ijvEsP1eW/LxNi8p3INvv+pSXGAs5+nDVDIa3SM97TdOfyHUGRVm DxA= X-IronPort-AV: E=Sophos;i="5.73,423,1583222400"; d="scan'208";a="51165107" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa1.mentor.iphmx.com with ESMTP; 22 May 2020 14:17:21 -0800 IronPort-SDR: +kKfPwFQWAWXdoItH2WbqyNT0LhBITKELbq4Ud00xfbGL7qpqXdfRTHEoMJu0dB83+8/JVUSQS BvZueZYRwzIcPzLuTzrkveWAlhV7IhRbEArcM9LdMLlNXZyfwrQsERKLZVR/i8J2nS2KoyyaA9 /dPnI/zqvx9LzPj1WI/hXL3GvFneTD3LwOIuiP98Ki4PhCy/Cp+OvMzAcIZeIsp8Qo0BXPbtZj zxYG2VgAkKkOmabgZmho5OxFIpCBQ/mnxjowu5StnpmRL9hsGH31DefI8RZ4TO4ZW0sK+lQQTe X2U= From: Julian Brown To: CC: , , Subject: [PATCH 1/7] [OpenACC] Missing unlocking on error paths in attach/detach code Date: Fri, 22 May 2020 15:16:04 -0700 Message-ID: X-Mailer: git-send-email 2.23.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) To SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 May 2020 22:17:39 -0000 This patch adds some missing unlocking from error paths in the OpenACC attach/detach code, noticed during development of other patches in this series. OK? Julian ChangeLog libgomp/ * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on error path. (goacc_detach_internal): Likewise. --- libgomp/oacc-mem.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libgomp/oacc-mem.c b/libgomp/oacc-mem.c index 2d4bba78efd..c06b7341cbb 100644 --- a/libgomp/oacc-mem.c +++ b/libgomp/oacc-mem.c @@ -887,7 +887,10 @@ acc_attach_async (void **hostaddr, int async) n = splay_tree_lookup (&acc_dev->mem_map, &cur_node); if (n == NULL) - gomp_fatal ("struct not mapped for acc_attach"); + { + gomp_mutex_unlock (&acc_dev->lock); + gomp_fatal ("struct not mapped for acc_attach"); + } gomp_attach_pointer (acc_dev, aq, &acc_dev->mem_map, n, (uintptr_t) hostaddr, 0, NULL); @@ -920,7 +923,10 @@ goacc_detach_internal (void **hostaddr, int async, bool finalize) n = splay_tree_lookup (&acc_dev->mem_map, &cur_node); if (n == NULL) - gomp_fatal ("struct not mapped for acc_detach"); + { + gomp_mutex_unlock (&acc_dev->lock); + gomp_fatal ("struct not mapped for acc_detach"); + } gomp_detach_pointer (acc_dev, aq, n, (uintptr_t) hostaddr, finalize, NULL); -- 2.23.0