[Spread-cvs] cvs commit: spread/daemon Readme.txt groups.c
jonathan at spread.org
jonathan at spread.org
Fri Feb 13 11:12:14 EST 2004
jonathan 04/02/13 11:12:14
Modified: daemon Readme.txt groups.c
Log:
Update fix to alignment errors on sparc/alpha. Pointing an int to an
unaligned buffer is 'undefined' C.
Revision Changes Path
1.49 +1 -1 spread/daemon/Readme.txt
Index: Readme.txt
===================================================================
RCS file: /storage/cvsroot/spread/daemon/Readme.txt,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- Readme.txt 9 Feb 2004 19:38:21 -0000 1.48
+++ Readme.txt 13 Feb 2004 16:12:14 -0000 1.49
@@ -63,7 +63,7 @@
7) Fix crash by improving packet accounting when a client connected to a
singleton daemon sends a large broadcast. Reported by David Shaw.
8) Fix bus errors on Sparc & Alpha for message buffer integer assignment.
- Reported by Greg Shebert and Mikhail Terekhov.
+ Reported by Greg Shebert; tested and patched Mikhail Terekhov.
9) Verify daemon names in spread.conf are unique. If non-unique names are
provided in spread.conf, configuration will be rejected and daemon will
not start. Suggested by Tim Peters.
1.14 +15 -15 spread/daemon/groups.c
Index: groups.c
===================================================================
RCS file: /storage/cvsroot/spread/daemon/groups.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- groups.c 8 Feb 2004 15:07:23 -0000 1.13
+++ groups.c 13 Feb 2004 16:12:14 -0000 1.14
@@ -684,7 +684,7 @@
group *grp, *new_grp;
member *mbr, *new_mbr;
int needed;
- int32 *num_vs_ptr; /* num members in virtual-synchrony/failure-atomicity set */
+ char *num_vs_ptr; /* num members in virtual-synchrony/failure-atomicity set */
int num_bytes;
char proc_name[MAX_PROC_NAME];
char private_name[MAX_PRIVATE_NAME+1];
@@ -824,7 +824,7 @@
head_ptr->type |= CAUSED_BY_JOIN ;
/* notify all local members */
- num_vs_ptr = (int32 *)&Mess_buf[ num_bytes ];
+ num_vs_ptr = &Mess_buf[ num_bytes ];
num_bytes += sizeof( int32 );
temp = 1;
memcpy( num_vs_ptr, &temp, sizeof( int32 ) ); /* *num_vs_ptr = 1; */
@@ -892,7 +892,7 @@
head_ptr = Message_get_message_header(joiner_msg);
head_ptr->type |= CAUSED_BY_NETWORK ;
/* build a self vs set */
- num_vs_ptr = (int32 *)&Mess_buf[ num_bytes ];
+ num_vs_ptr = &Mess_buf[ num_bytes ];
num_bytes += sizeof( int32 );
temp = 1;
memcpy( num_vs_ptr, &temp, sizeof( int32 ) ); /* *num_vs_ptr = 1; */
@@ -1022,7 +1022,7 @@
proc p, p1;
group *grp;
member *mbr;
- int32 *num_vs_ptr; /* num members in vs set */
+ char *num_vs_ptr; /* num members in vs set */
char *vs_ptr; /* the virtual synchrony set */
message_link *mess_link;
message_header *head_ptr;
@@ -1147,7 +1147,7 @@
head_ptr->type |= CAUSED_BY_LEAVE ;
/* notify all local members */
- num_vs_ptr = (int32 *)&Mess_buf[ num_bytes ];
+ num_vs_ptr = &Mess_buf[ num_bytes ];
num_bytes += sizeof( int32 );
temp = 1;
memcpy( num_vs_ptr, &temp, sizeof( int32 ) ); /* *num_vs_ptr = 1; */
@@ -1219,7 +1219,7 @@
proc p, p1;
group *grp, *nextgroup;
member *mbr;
- int32 *num_vs_ptr; /* num members in vs set */
+ char *num_vs_ptr; /* num members in vs set */
char *vs_ptr; /* the virtual synchrony set */
message_link *mess_link;
message_header *head_ptr;
@@ -1341,7 +1341,7 @@
head_ptr->type |= CAUSED_BY_DISCONNECT ;
- num_vs_ptr = (int32 *)&Mess_buf[ num_bytes ];
+ num_vs_ptr = &Mess_buf[ num_bytes ];
num_bytes += sizeof( int32 );
temp = 1;
memcpy( num_vs_ptr, &temp, sizeof( int32 ) ); /* *num_vs_ptr = 1; */
@@ -1484,7 +1484,7 @@
int changed;
int ret;
int vs_bytes;
- int32 *num_vs_ptr; /* num members in virtual-synchrony/failure-atomicity set */
+ char *num_vs_ptr; /* num members in virtual-synchrony/failure-atomicity set */
int32 num_vs;
int num_exist;
struct worklist *indices[MAX_PROCS_RING];
@@ -1544,7 +1544,7 @@
group *this_group;
/* prepare vs set */
vs_bytes = 0;
- num_vs_ptr = (int32 *)&Temp_buf[0];
+ num_vs_ptr = &Temp_buf[0];
vs_bytes+= sizeof( int32 );
num_vs = 0;
@@ -1859,7 +1859,7 @@
int num_bytes;
message_header *head_ptr;
- int32 *num_vs_ptr; /* num members in virtual-synchrony/failure-atomicity set */
+ char *num_vs_ptr; /* num members in virtual-synchrony/failure-atomicity set */
struct skiplistnode *iter;
member *mbr;
char *membs_ptr;
@@ -1870,7 +1870,7 @@
head_ptr->type = head_ptr->type | caused;
- num_vs_ptr = (int32 *)&buf[num_bytes];
+ num_vs_ptr = &buf[num_bytes];
num_bytes += sizeof( int32 );
head_ptr->data_len += sizeof( int32 );
num_vs = 0;
@@ -1925,7 +1925,7 @@
char *gid_ptr;
member *mbr;
struct skiplistnode *giter, *iter;
- int16 *num_memb_ptr;
+ char *num_memb_ptr;
int16 num_memb;
char *memb_ptr;
int size_for_this_group;
@@ -1955,7 +1955,7 @@
num_bytes += sizeof( group_id );
memcpy( gid_ptr, &grp->grp_id, sizeof(group_id) );
- num_memb_ptr = (int16 *)&buf[num_bytes];
+ num_memb_ptr = &buf[num_bytes];
num_bytes += sizeof( int16 );
num_memb = 0;
@@ -1992,7 +1992,7 @@
group *grp;
char *gid_ptr;
member *mbr;
- int16 *num_memb_ptr;
+ char *num_memb_ptr;
int16 num_memb;
int i;
@@ -2041,7 +2041,7 @@
num_bytes += sizeof( group_id );
memcpy( &grp->grp_id, gid_ptr, sizeof(group_id) );
- num_memb_ptr = (int16 *)&Temp_buf[num_bytes];
+ num_memb_ptr = &Temp_buf[num_bytes];
num_bytes += sizeof( int16 );
memcpy( &num_memb, num_memb_ptr, sizeof( int16 ) );
More information about the Spread-cvs
mailing list