Zitat von Wietse Venema <wie...@porcupine.org>:

Wietse Venema:
lst_ho...@kwsoft.de:
> Zitat von Wietse Venema <wie...@porcupine.org>:
>
> > Victor Duchovni:
> >> On Mon, Jan 17, 2011 at 02:56:57PM -0500, Wietse Venema wrote:
> >>
> >> > 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;
> >>
> >> Is the compiler first converting 0.7 to an integer and *then* doing
> >> the multiplication?
> >>
> >> That would violate the C arithmetic type promotion rules.
> >
> > Let's find out if var_psc_pre_queue_limit is non-zero.
> >
> > Andreas, I am very interested in your logging for var_psc_pre_queue_limit.
>
> Now its getting real strange:
>
> Jan 17 22:25:46 hpux2 postfix/postscreen[9558]: var_psc_pre_queue_limit = 100
> Jan 17 22:25:46 hpux2 postfix/postscreen[9558]: psc_lowat = 0
> Jan 17 22:25:46 hpux2 postfix/postscreen[9558]: psc_hiwat = 0
> Jan 17 22:25:46 hpux2 postfix/postscreen[9558]:
> postscreen_command_time_limit: stress=10 normal=300 lowat=0 hiwat=0
>
> I have added msg_info to print out psc_lowat and psc_hiwat after the
> calculation...
> I really wonder what else this HP compiler does if no one notices.
> Should i maybe try without the ANSI flag "-Ae"?

Looks like

    0.7 * 100 = 0
    0.9 * 100 = 0

If you have time, can you try:

    stuff = 0.7 * ((double) var_psc_pre_queue_limit);
    stuff = 0.9 * ((double) var_psc_pre_queue_limit);

Thanks,

In case that does not help, declaring the hiwat and lowat variables
as double instead of int (in postscreen.c and postscreen.h) could
make a difference.

Perhaps the bug is triggered when the target of assignment is int.

Either way it would be a compiler bug.

Luckily we do not need aCC compiled Postfix on HPUX but i wonder what else this compiler would break. I have to talk to the devs if they are aware of this strange behaviour. Maybe a recommendation should be included to better use gcc on HPUX.

Many Thanks

Andreas


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to