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