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, Wietse