diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2013-12-17 14:03:56 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2013-12-17 14:03:56 (GMT) |
commit | 0d4024e9a4fdd85fc09753ead735a33a84863bc6 (patch) | |
tree | 19ef97e8a9ff3788e858e00dcd568c434d7e429d /src/H5VLiod_attr.c | |
parent | 50704b41afe819cb712762041b0774f6568cdf11 (diff) | |
download | hdf5-0d4024e9a4fdd85fc09753ead735a33a84863bc6.zip hdf5-0d4024e9a4fdd85fc09753ead735a33a84863bc6.tar.gz hdf5-0d4024e9a4fdd85fc09753ead735a33a84863bc6.tar.bz2 |
[svn-r24584] Fix abort from all ranks problem (at least for now).
Diffstat (limited to 'src/H5VLiod_attr.c')
-rw-r--r-- | src/H5VLiod_attr.c | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/src/H5VLiod_attr.c b/src/H5VLiod_attr.c index f762ea9..e39a8d0 100644 --- a/src/H5VLiod_attr.c +++ b/src/H5VLiod_attr.c @@ -72,8 +72,8 @@ H5VL_iod_server_attr_create_cb(AXE_engine_t UNUSED axe_engine, FUNC_ENTER_NOAPI_NOINIT #if H5VL_IOD_DEBUG - fprintf(stderr, "Start attribute create %s at %"PRIu64" with ID %"PRIx64"\n", - attr_name, loc_handle.wr_oh, attr_id); + fprintf(stderr, "Start attribute create %s at %"PRIu64" with ID %"PRIx64" %"PRIx64"", + attr_name, loc_handle.wr_oh, attr_id, loc_attrkv_id); #endif attr_oh.rd_oh.cookie = IOD_OH_UNDEFINED; @@ -198,15 +198,8 @@ done: iod_obj_close(obj_oh.rd_oh, NULL, NULL); } - /* close the Metadata KV object */ - if(mdkv_oh.cookie != IOD_OH_UNDEFINED && - iod_obj_close(mdkv_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close object"); - - /* close the Attribute KV object */ - if(attr_kv_oh.cookie != IOD_OH_UNDEFINED && - iod_obj_close(attr_kv_oh, NULL, NULL) < 0) - HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close object"); + iod_obj_close(mdkv_oh, NULL, NULL); + iod_obj_close(attr_kv_oh, NULL, NULL); /* return an UNDEFINED oh to the client if the operation failed */ if(ret_value < 0) { @@ -224,6 +217,18 @@ done: HG_Handler_start_output(op_data->hg_handle, &output); } +#if 0 + /* close the Metadata KV object */ + if(mdkv_oh.cookie != IOD_OH_UNDEFINED && + iod_obj_close(mdkv_oh, NULL, NULL) < 0) + HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close object"); + + /* close the Attribute KV object */ + if(attr_kv_oh.cookie != IOD_OH_UNDEFINED && + iod_obj_close(attr_kv_oh, NULL, NULL) < 0) + HDONE_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't close object"); +#endif + input = (attr_create_in_t *)H5MM_xfree(input); op_data = (op_data_t *)H5MM_xfree(op_data); @@ -1119,14 +1124,14 @@ done: } if(step == 2) { - /* close the Attribute KV object */ - iod_obj_close(attr_kv_oh.rd_oh, NULL, NULL); - iod_obj_close(attr_kv_oh.wr_oh, NULL, NULL); + /* close the attribute oh */ + iod_obj_close(attr_oh, NULL, NULL); step --; } if(step == 1) { - /* close the attribute oh */ - iod_obj_close(attr_oh, NULL, NULL); + /* close the Attribute KV object */ + iod_obj_close(attr_kv_oh.rd_oh, NULL, NULL); + iod_obj_close(attr_kv_oh.wr_oh, NULL, NULL); step --; } |