logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

cvs commit: spread/daemon Readme.txt groups.c: msg#00008

Subject: cvs commit: spread/daemon Readme.txt groups.c
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 ) );


<Prev in Thread] Current Thread [Next in Thread>