At 02:24 AM 7/29/2004, Mladen Turk wrote:
> 
>William A. Rowe, Jr. wrote:
>> >   
>> >   /* Scoreboard file, if there is one */
>> >   #ifndef DEFAULT_SCOREBOARD
>> >  @@ -118,6 +119,7 @@
>> >   typedef struct {
>> >       int             server_limit;
>> >       int             thread_limit;
>> >  +    int             lb_limit;
>> >       ap_scoreboard_e sb_type;
>> >       ap_generation_t running_generation;      /* the 
>> generation of children which
>> >                                            * should still 
>> be serving 
>> > requests. */
>> 
>> This definitely breaks binary compatibility.
>
>Moving the lb_limit to the end of the struct will not break the binary
>compatibility. Correct?

Yes, in the case of global_score, that would be safer.  It seems that
the additional lb_score 's element point was better placed.

If you changed worker_score, it would still have broken (or if you change
balancers in the future.)  Agents reviewing the scoreboard are presuming 
scoreboard_entry *psb can be accessed as psb[0..n] and that -will- be 
broken with any size/alignment change to the struct.

E.g.

Bill 

Reply via email to