[Pvfs2-cvs] commit by pcarns in
pvfs2-1/src/io/flow/flowproto-bmi-trove: flowproto-multiqueue.c
CVS commit program
cvs at parl.clemson.edu
Fri Nov 6 13:09:41 EST 2009
Update of /projects/cvsroot/pvfs2-1/src/io/flow/flowproto-bmi-trove
In directory parlweb1:/tmp/cvs-serv15832/src/io/flow/flowproto-bmi-trove
Modified Files:
Tag: pvfs-2-8-branch
flowproto-multiqueue.c
Log Message:
merge flow deadlock bugfix from trunk to 2-8 branch
Index: flowproto-multiqueue.c
===================================================================
RCS file: /projects/cvsroot/pvfs2-1/src/io/flow/flowproto-bmi-trove/flowproto-multiqueue.c,v
diff -p -u -r1.127 -r1.127.2.1
--- flowproto-multiqueue.c 29 Jan 2009 20:53:36 -0000 1.127
+++ flowproto-multiqueue.c 6 Nov 2009 18:09:41 -0000 1.127.2.1
@@ -30,7 +30,7 @@
#define MAX_REGIONS 64
-#define FLOW_CLEANUP(__flow_data) \
+#define FLOW_CLEANUP_CANCEL_PATH(__flow_data, __cancel_path) \
do { \
struct flow_descriptor *__flow_d = (__flow_data)->parent; \
gossip_debug(GOSSIP_FLOW_PROTO_DEBUG, "flowproto completing %p\n",\
@@ -39,9 +39,11 @@ do {
__flow_d = (__flow_data)->parent; \
free(__flow_data); \
__flow_d->release(__flow_d); \
- __flow_d->callback(__flow_d); \
+ __flow_d->callback(__flow_d, __cancel_path); \
} while(0)
+#define FLOW_CLEANUP(___flow_data) FLOW_CLEANUP_CANCEL_PATH(___flow_data, 0)
+
struct result_chain_entry
{
PVFS_id_gen_t posted_id;
@@ -479,7 +481,7 @@ int fp_multiqueue_cancel(flow_descriptor
if(flow_data->parent->state == FLOW_COMPLETE)
{
gen_mutex_unlock(&flow_data->parent->flow_mutex);
- FLOW_CLEANUP(flow_data);
+ FLOW_CLEANUP_CANCEL_PATH(flow_data, 1);
return(0);
}
}
More information about the Pvfs2-cvs
mailing list