[Spread-cvs] commit: r676 - trunk/daemon
jschultz at spread.org
jschultz at spread.org
Wed Jan 22 03:21:47 EST 2014
Author: jschultz
Date: 2014-01-22 03:21:47 -0500 (Wed, 22 Jan 2014)
New Revision: 676
Modified:
trunk/daemon/configuration.c
Log:
Fix bug in Conf_previous
Modified: trunk/daemon/configuration.c
===================================================================
--- trunk/daemon/configuration.c 2014-01-22 08:20:59 UTC (rev 675)
+++ trunk/daemon/configuration.c 2014-01-22 08:21:47 UTC (rev 676)
@@ -730,36 +730,36 @@
int32u Conf_previous( configuration *config )
{
segment *seg_ptr;
- segment *prev_seg_ptr;
int index_in_seg;
int i;
- seg_ptr = &(config->segments[My.seg_index]);
- index_in_seg = Conf_id_in_seg(seg_ptr, My.id);
+ seg_ptr = &config->segments[My.seg_index];
+ index_in_seg = Conf_id_in_seg( seg_ptr, My.id );
if( index_in_seg > 0 )
{
/* I am not first in my segment; previous is previous proc in segment */
- return seg_ptr->procs[index_in_seg-1]->id;
+ return seg_ptr->procs[index_in_seg - 1]->id;
}
- for( i = 0; i < My.seg_index; i++ )
+ for( i = My.seg_index - 1; i >= 0; --i )
{
if( config->segments[i].num_procs > 0 )
{
/* There is a segment before mine; previous is last in that segment */
- prev_seg_ptr = &(config->segments[i]);
- return prev_seg_ptr->procs[prev_seg_ptr->num_procs-1]->id;
+ seg_ptr = &config->segments[i];
+ return seg_ptr->procs[seg_ptr->num_procs - 1]->id;
}
}
- /* I am first in first segment; previous is last in last segment */
- for( i = config->num_segments-1; i >= My.seg_index; i-- )
+ /* I am first in first non-empty segment; previous is last in last segment */
+
+ for( i = config->num_segments - 1; i >= My.seg_index; --i )
{
if( config->segments[i].num_procs > 0 )
{
- prev_seg_ptr = &(config->segments[i]);
- return prev_seg_ptr->procs[prev_seg_ptr->num_procs-1]->id;
+ seg_ptr = &(config->segments[i]);
+ return seg_ptr->procs[seg_ptr->num_procs - 1]->id;
}
}
Alarm( EXIT, "Conf_previous: No process found\n" );
More information about the Spread-cvs
mailing list