Hi! On 2020-05-22T15:16:04-0700, Julian Brown <jul...@codesourcery.com> wrote: > This patch adds some missing unlocking from error paths in the OpenACC > attach/detach code, noticed during development of other patches in > this series.
Thanks, pushed "[OpenACC] Missing unlocking on error paths in attach/detach code" to master branch in commit dc9541545d9e5705a97c41713c557f55522b54dc, and releases/gcc-10 branch in commit 16faaf529cfdefbf577cf6affc5869506b484599, see attached. ..., and then pushed "[OpenACC] Missing unlocking on error paths in attach/detach code, part II" to master branch in commit 2e24d457d8c97e409549848715ff046cfa9efd3d, and releases/gcc-10 branch in commit 52022880530d3ae9cdae81db74a40a92f2265c2c, see attached, too. Grüße Thomas ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter
>From 2e24d457d8c97e409549848715ff046cfa9efd3d Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <tho...@codesourcery.com> Date: Sat, 23 May 2020 17:20:30 +0200 Subject: [PATCH] [OpenACC] Missing unlocking on error paths in attach/detach code, part II libgomp/ * oacc-mem.c (goacc_exit_data_internal): Unlock on error path. --- libgomp/oacc-mem.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libgomp/oacc-mem.c b/libgomp/oacc-mem.c index c06b7341cbbf..6713846c9429 100644 --- a/libgomp/oacc-mem.c +++ b/libgomp/oacc-mem.c @@ -1060,7 +1060,10 @@ goacc_exit_data_internal (struct gomp_device_descr *acc_dev, size_t mapnum, = splay_tree_lookup (&acc_dev->mem_map, &cur_node); if (n == NULL) - gomp_fatal ("struct not mapped for detach operation"); + { + gomp_mutex_unlock (&acc_dev->lock); + gomp_fatal ("struct not mapped for detach operation"); + } gomp_detach_pointer (acc_dev, aq, n, hostaddr, finalize, NULL); } -- 2.26.2
>From 52022880530d3ae9cdae81db74a40a92f2265c2c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <tho...@codesourcery.com> Date: Sat, 23 May 2020 17:20:30 +0200 Subject: [PATCH] [OpenACC] Missing unlocking on error paths in attach/detach code, part II libgomp/ * oacc-mem.c (goacc_exit_data_internal): Unlock on error path. (cherry picked from commit 2e24d457d8c97e409549848715ff046cfa9efd3d) --- libgomp/oacc-mem.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libgomp/oacc-mem.c b/libgomp/oacc-mem.c index c06b7341cbbf..6713846c9429 100644 --- a/libgomp/oacc-mem.c +++ b/libgomp/oacc-mem.c @@ -1060,7 +1060,10 @@ goacc_exit_data_internal (struct gomp_device_descr *acc_dev, size_t mapnum, = splay_tree_lookup (&acc_dev->mem_map, &cur_node); if (n == NULL) - gomp_fatal ("struct not mapped for detach operation"); + { + gomp_mutex_unlock (&acc_dev->lock); + gomp_fatal ("struct not mapped for detach operation"); + } gomp_detach_pointer (acc_dev, aq, n, hostaddr, finalize, NULL); } -- 2.26.2
>From 2e24d457d8c97e409549848715ff046cfa9efd3d Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <tho...@codesourcery.com> Date: Sat, 23 May 2020 17:20:30 +0200 Subject: [PATCH] [OpenACC] Missing unlocking on error paths in attach/detach code, part II libgomp/ * oacc-mem.c (goacc_exit_data_internal): Unlock on error path. --- libgomp/oacc-mem.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libgomp/oacc-mem.c b/libgomp/oacc-mem.c index c06b7341cbbf..6713846c9429 100644 --- a/libgomp/oacc-mem.c +++ b/libgomp/oacc-mem.c @@ -1060,7 +1060,10 @@ goacc_exit_data_internal (struct gomp_device_descr *acc_dev, size_t mapnum, = splay_tree_lookup (&acc_dev->mem_map, &cur_node); if (n == NULL) - gomp_fatal ("struct not mapped for detach operation"); + { + gomp_mutex_unlock (&acc_dev->lock); + gomp_fatal ("struct not mapped for detach operation"); + } gomp_detach_pointer (acc_dev, aq, n, hostaddr, finalize, NULL); } -- 2.26.2
>From 52022880530d3ae9cdae81db74a40a92f2265c2c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <tho...@codesourcery.com> Date: Sat, 23 May 2020 17:20:30 +0200 Subject: [PATCH] [OpenACC] Missing unlocking on error paths in attach/detach code, part II libgomp/ * oacc-mem.c (goacc_exit_data_internal): Unlock on error path. (cherry picked from commit 2e24d457d8c97e409549848715ff046cfa9efd3d) --- libgomp/oacc-mem.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libgomp/oacc-mem.c b/libgomp/oacc-mem.c index c06b7341cbbf..6713846c9429 100644 --- a/libgomp/oacc-mem.c +++ b/libgomp/oacc-mem.c @@ -1060,7 +1060,10 @@ goacc_exit_data_internal (struct gomp_device_descr *acc_dev, size_t mapnum, = splay_tree_lookup (&acc_dev->mem_map, &cur_node); if (n == NULL) - gomp_fatal ("struct not mapped for detach operation"); + { + gomp_mutex_unlock (&acc_dev->lock); + gomp_fatal ("struct not mapped for detach operation"); + } gomp_detach_pointer (acc_dev, aq, n, hostaddr, finalize, NULL); } -- 2.26.2