summaryrefslogtreecommitdiffstats
path: root/src/H5VLiod_attr.c
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2013-12-17 14:03:56 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2013-12-17 14:03:56 (GMT)
commit0d4024e9a4fdd85fc09753ead735a33a84863bc6 (patch)
tree19ef97e8a9ff3788e858e00dcd568c434d7e429d /src/H5VLiod_attr.c
parent50704b41afe819cb712762041b0774f6568cdf11 (diff)
downloadhdf5-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.c37
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 --;
}