mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-16 23:40:33 +08:00
[OpenACC] Missing unlocking on error paths in attach/detach code
libgomp/ * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on error path. (goacc_detach_internal): Likewise. Reviewed-by: Thomas Schwinge <thomas@codesourcery.com>
This commit is contained in:
parent
1e378edd8f
commit
dc9541545d
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user