jonathan 05/04/07 23:50:40
Modified: daemon Changelog groups.c
Log:
Fix misplaced } in closing "else" statement. Bug was benign because
of switch/case statement jumps. Most of patch is whitespace/indent adjustment
once } is in correct location.
Revision Changes Path
1.10 +6 -0 spread/daemon/Changelog
Index: Changelog
===================================================================
RCS file: /storage/cvsroot/spread/daemon/Changelog,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- Changelog 7 Apr 2005 04:04:58 -0000 1.9
+++ Changelog 8 Apr 2005 03:50:40 -0000 1.10
@@ -1,3 +1,9 @@
+Thu Apr 7 23:47:37 2005 Jonathan Stanton <[email protected]>
+
+ * groups.c (G_handle_reg_memb): Fix misplaced closing } for
+ else case. Bug introduced in october groups rewrite, but
+ effectively benign becaues of switch/case. Fixed by Jonathan.
+
Wed Apr 6 23:41:44 2005 Jonathan Stanton <[email protected]>
* protocol.c (Answer_retrans,Send_new_packets,Prot_handle_token):
1.22 +101 -101 spread/daemon/groups.c
Index: groups.c
===================================================================
RCS file: /storage/cvsroot/spread/daemon/groups.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- groups.c 2 Dec 2004 23:52:17 -0000 1.21
+++ groups.c 8 Apr 2005 03:50:40 -0000 1.22
@@ -463,115 +463,115 @@
Gstate = GGATHER;
GlobalStatus.gstate = Gstate;
- break;
-
- case GGATHER:
- Alarmp( SPLOG_FATAL, GROUPS, "G_handle_reg_memb in GGATHER\n");
-
- break;
+ }
+ break;
- case GGT:
- /*
- * Save reg_memb and reg_memb_id
- * If I received all of my synced set's group messages
- * For all synced sets for which I have all the Groups messages
- * Extract group information from Groups messages
- * Add the synced set to mine
- * Clear all retained Groups messages
- * Check the groups state against the last delivered Trans_memb
- * Check my synced set against Trans_memb
- * If I'm representative of synced set
- * If Groups bufs are still good (i.e. we didn't change anything)
- * Stamp Groups messages with current membership id
- * Else
- * Remove all Groups bufs
- * Build groups messages --
- * contains only members local to daemons in SyncedSet
- * Send groups messages
- * Shift to GGATHER
- */
- Alarmp( SPLOG_INFO, GROUPS, "G_handle_reg_memb in GGT\n");
-
- Reg_memb = reg_memb;
- Reg_memb_id = reg_memb_id;
-
- /* If our messages have all arrived, then we can bring into our
- * synced set anyone who's messages have all arrived.
- * Regardless, we need to dispose of the groups messages. */
- for( grp_mlink = Gathered.next; grp_mlink != NULL; )
+ case GGATHER:
+ Alarmp( SPLOG_FATAL, GROUPS, "G_handle_reg_memb in GGATHER\n");
+
+ break;
+
+ case GGT:
+ /*
+ * Save reg_memb and reg_memb_id
+ * If I received all of my synced set's group messages
+ * For all synced sets for which I have all the Groups messages
+ * Extract group information from Groups messages
+ * Add the synced set to mine
+ * Clear all retained Groups messages
+ * Check the groups state against the last delivered Trans_memb
+ * Check my synced set against Trans_memb
+ * If I'm representative of synced set
+ * If Groups bufs are still good (i.e. we didn't change anything)
+ * Stamp Groups messages with current membership id
+ * Else
+ * Remove all Groups bufs
+ * Build groups messages --
+ * contains only members local to daemons in SyncedSet
+ * Send groups messages
+ * Shift to GGATHER
+ */
+ Alarmp( SPLOG_INFO, GROUPS, "G_handle_reg_memb in GGT\n");
+
+ Reg_memb = reg_memb;
+ Reg_memb_id = reg_memb_id;
+
+ /* If our messages have all arrived, then we can bring into our
+ * synced set anyone who's messages have all arrived.
+ * Regardless, we need to dispose of the groups messages. */
+ for( grp_mlink = Gathered.next; grp_mlink != NULL; )
+ {
+ for( mess_link = grp_mlink->first; mess_link != NULL; )
+ {
+ if( Gathered.complete && grp_mlink->complete )
{
- for( mess_link = grp_mlink->first; mess_link != NULL; )
- {
- if( Gathered.complete && grp_mlink->complete )
- {
- ret = G_mess_to_groups( mess_link, &sset );
- if( ret < 0 )
- Alarmp( SPLOG_FATAL, GROUPS, "G_handle_reg_memb:"
- " G_mess_to_groups errored %d\n", ret );
- Groups_bufs_fresh = 0;
- }
- grp_mlink->first = mess_link->next;
- Sess_dispose_message( mess_link );
- mess_link = grp_mlink->first;
- }
- if( Gathered.complete && grp_mlink->complete )
- G_add_to_synced_set( &sset );
- Gathered.next = grp_mlink->next;
- dispose( grp_mlink );
- grp_mlink = Gathered.next;
+ ret = G_mess_to_groups( mess_link, &sset );
+ if( ret < 0 )
+ Alarmp( SPLOG_FATAL, GROUPS, "G_handle_reg_memb:"
+ " G_mess_to_groups errored %d\n", ret );
+ Groups_bufs_fresh = 0;
}
+ grp_mlink->first = mess_link->next;
+ Sess_dispose_message( mess_link );
+ mess_link = grp_mlink->first;
+ }
+ if( Gathered.complete && grp_mlink->complete )
+ G_add_to_synced_set( &sset );
+ Gathered.next = grp_mlink->next;
+ dispose( grp_mlink );
+ grp_mlink = Gathered.next;
+ }
- /* We put off really handling the transitional configuration until now
- * so as to not deliver potentially inconsistent groups messages
- * if we completed the old state exchange. Now, prepare for the next one.
- */
- giter = sl_getlist( &GroupsList );
- grp = (giter)?(group *)giter->data:NULL;
- for( ; grp != NULL ; grp = nextgroup )
+ /* We put off really handling the transitional configuration until now
+ * so as to not deliver potentially inconsistent groups messages
+ * if we completed the old state exchange. Now, prepare for the next one.
+ */
+ giter = sl_getlist( &GroupsList );
+ grp = (giter)?(group *)giter->data:NULL;
+ for( ; grp != NULL ; grp = nextgroup )
+ {
+ nextgroup = sl_next( &GroupsList, &giter );
+ group_changed = G_eliminate_partitioned_daemons( grp );
+ if( group_changed )
+ {
+ Groups_bufs_fresh = 0;
+ if( grp->num_members == 0 )
{
- nextgroup = sl_next( &GroupsList, &giter );
- group_changed = G_eliminate_partitioned_daemons( grp );
- if( group_changed )
- {
- Groups_bufs_fresh = 0;
- if( grp->num_members == 0 )
- {
- /* discard this empty group */
- G_remove_group( grp );
- } else {
- grp->changed = 1;
- }
- }
- }
- synced_set_changed = G_check_synced_set( &MySyncedSet, &Trans_memb );
- G_print_synced_set( SPLOG_INFO, &MySyncedSet, "G_handle_reg_memb" );
- /* Since one of the groups bufs holds the synced set... */
- if( synced_set_changed )
- Groups_bufs_fresh = 0;
-
- Gathered.complete = 0;
- Num_mess_gathered = 0;
- Num_daemons_gathered = 0;
-
- if( Is_synced_set_leader(My.id) ) {
- /* Stamp own Groups message in buffer with current membership id */
- if( Groups_bufs_fresh ) {
- G_stamp_groups_bufs();
- } else {
- G_discard_groups_bufs();
- G_build_new_groups_bufs();
- Groups_bufs_fresh = 1;
- }
- ret = G_send_groups_messages();
- Alarmp( SPLOG_INFO, GROUPS, "G_handle_reg_memb: %d GROUPS messages"
- " sent in GGT\n", ret );
+ /* discard this empty group */
+ G_remove_group( grp );
+ } else {
+ grp->changed = 1;
}
+ }
+ }
+ synced_set_changed = G_check_synced_set( &MySyncedSet, &Trans_memb );
+ G_print_synced_set( SPLOG_INFO, &MySyncedSet, "G_handle_reg_memb" );
+ /* Since one of the groups bufs holds the synced set... */
+ if( synced_set_changed )
+ Groups_bufs_fresh = 0;
+
+ Gathered.complete = 0;
+ Num_mess_gathered = 0;
+ Num_daemons_gathered = 0;
+
+ if( Is_synced_set_leader(My.id) ) {
+ /* Stamp own Groups message in buffer with current membership id */
+ if( Groups_bufs_fresh ) {
+ G_stamp_groups_bufs();
+ } else {
+ G_discard_groups_bufs();
+ G_build_new_groups_bufs();
+ Groups_bufs_fresh = 1;
+ }
+ ret = G_send_groups_messages();
+ Alarmp( SPLOG_INFO, GROUPS, "G_handle_reg_memb: %d GROUPS messages"
+ " sent in GGT\n", ret );
+ }
- Gstate = GGATHER;
- GlobalStatus.gstate = Gstate;
+ Gstate = GGATHER;
+ GlobalStatus.gstate = Gstate;
- break;
- }
+ break;
}
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.