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