From d02fc045c2faf3e6a499dd60e08f92a2ed3ad831 Mon Sep 17 00:00:00 2001
From: Pedro Gonnet <pedro.gonnet@durham.ac.uk>
Date: Wed, 28 Aug 2013 15:28:28 +0000
Subject: [PATCH] generate tags from cell pointers.

Former-commit-id: 8c4dd68746b0823ac7407a1e22b594f5041c232d
---
 src/cell.c   | 2 +-
 src/engine.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/cell.c b/src/cell.c
index 9911b8fb86..0ed97224e9 100644
--- a/src/cell.c
+++ b/src/cell.c
@@ -176,7 +176,7 @@ int cell_pack ( struct cell *c , struct pcell *pc ) {
     pc->dt_min = c->dt_min;
     pc->dt_max = c->dt_max;
     pc->count = c->count;
-    c->tag = pc->tag = rand() % (1 << 24);
+    c->tag = pc->tag = ( ((long long int)c) / sizeof(struct cell) ) % (1 << 30);
     
     /* Fill in the progeny, depth-first recursion. */
     for ( k = 0 ; k < 8 ; k++ )
diff --git a/src/engine.c b/src/engine.c
index 1333e2a614..08905a32fd 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -743,7 +743,7 @@ int engine_exchange_strays ( struct engine *e , struct part *parts , struct xpar
     
     /* Wait for each part array to come in and collect the new
        parts from the proxies. */
-    for ( k = 0 ; k < nr_in ; k++ ) {
+    for ( k = 0 ; k < 2*(nr_in + nr_out) ; k++ ) {
         if ( MPI_Waitany( 2*e->nr_proxies , reqs_in , &pid , &status ) != MPI_SUCCESS ||
              pid == MPI_UNDEFINED )
             error( "MPI_Waitany failed." );
-- 
GitLab