[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