Index: src/io/trove/trove-dbpf/dbpf-thread.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-thread.h,v
retrieving revision 1.11
diff -a -u -r1.11 dbpf-thread.h
--- src/io/trove/trove-dbpf/dbpf-thread.h	5 Dec 2006 20:37:40 -0000	1.11
+++ src/io/trove/trove-dbpf/dbpf-thread.h	23 Feb 2007 14:30:55 -0000
@@ -27,12 +27,12 @@
 #define DBPF_COMPLETION_START(cur_op, ret_state, end_state)        \
 do {                                                               \
     TROVE_context_id cid = cur_op->op.context_id;                  \
+    gen_mutex_lock(dbpf_completion_queue_array_mutex[cid]);        \
+    dbpf_op_queue_add(dbpf_completion_queue_array[cid],cur_op);    \
     cur_op->state = ret_state;                                     \
     gen_mutex_lock(&cur_op->mutex);                                \
     cur_op->op.state = end_state;                                  \
     gen_mutex_unlock(&cur_op->mutex);                              \
-    gen_mutex_lock(dbpf_completion_queue_array_mutex[cid]);        \
-    dbpf_op_queue_add(dbpf_completion_queue_array[cid],cur_op);    \
 } while(0)
 
 #define DBPF_COMPLETION_ADD(__add_op, __retstate, __endstate)           \
