[email protected]:
> >> > Can you please try the two #define statements at the top of
> >> > postscreen.h
> >> >
> >> > #define psc_check_queue_length_hiwat psc_hiwat
> >> > #define psc_check_queue_length_lowat psc_lowat
> >> >
> >> > Then recompile.
> >>
> >> Sorry, no. Both values stay at "0" after "make clean, make tidy, make
> >> install" and editing the file like this:
> >
> > OK, time for radical measures.
> >
> > 1) Remove the two lines that you added to postscreen.h.
> >
> > 2) In the postscreen directory:
> >
> > $ perl -pi -e 's/psc_check_queue_length_hiwat/psc_hiwat/g' *.[hc]
> > $ perl -pi -e 's/psc_check_queue_length_lowat/psc_lowat/g' *.[hc]
> >
> > That makes them different within 6 characters.
> >
> > 3) Recompile, install, etc.
>
> Still no joy... The result is still the same.
> Maybe some other problem as root case? Some over-eagerly optimizing compiler?
Well this is the code:
psc_lowat_check_queue_length = .7 * var_psc_pre_queue_limit;
psc_hiwat_check_queue_length = .9 * var_psc_pre_queue_limit;
if (msg_verbose)
msg_info(VAR_PSC_CMD_TIME ": stress=%d normal=%d lowat=%d hiwat=%d",
psc_stress_cmd_time_limit, psc_normal_cmd_time_limit,
psc_lowat_check_queue_length, psc_hiwat_check_queue_length);
The lowat/hiwat variables will be zero when var_psc_pre_queue_limit
is left at zero, which you can check by adding an msg_info() statement.
Here's the home work: please add
msg_info("var_psc_pre_queue_limit = %d", var_psc_pre_queue_limit);
just before the code that uses var_psc_pre_queue_limit.
This means the code that handles this initialization is not working
as expected:
static const CONFIG_NINT_TABLE nint_table[] = {
VAR_PSC_POST_QLIMIT, DEF_PSC_POST_QLIMIT, &var_psc_post_queue_limit, 5,
0,
VAR_PSC_PRE_QLIMIT, DEF_PSC_PRE_QLIMIT, &var_psc_pre_queue_limit, 10, 0,
VAR_PSC_CCONN_LIMIT, DEF_PSC_CCONN_LIMIT, &var_psc_cconn_limit, 0, 0,
0,
};
Before I dive into that, let's see what your home work produces.
Wietse