Re: thread_test.c problems

From: <wespvp(at)syntegra(dot)com>
To: joseph speigle <joe(dot)speigle(at)jklh(dot)us>, PostgreSQL <pgsql-general(at)postgresql(dot)org>
Subject: Re: thread_test.c problems
Date: 2004-04-04 09:03:05
Message-ID: BC952B69.79F5%wespvp@syntegra.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

On 4/4/04 12:33 AM, "joseph speigle" <joe(dot)speigle(at)jklh(dot)us> wrote:

> have you tried adding a volatile keyword to the
>
> int volatile errno1_set = 0;
> int volatile errno2_set = 0;
>
> that should stop while-loop optimizing for cases where the variable is
> modified in a scope the compiler would be ignorant of, and precludes compiler
> while-loop optimization. That would then tell you if it was a while loop
> optimization problem.

That cures the problem on all systems. What needs to be done to get this
updated in the tip?

> As for me on RH 8.0
>
> gcc -v
> Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs
> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
> --infodir=/usr/share/info --enable-shared --enable-threads=posix
> --disable-checking --host=i386-redhat-linux --with-system-zlib
> --enable-__cxa_atexit
> Thread model: posix
> gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
>
> sorry, they all run yes/no/no

I don't know what is different, but I've tried it on RH 7.2, RH AS 3.0, and
Mac OS X. All hang in an infinite loop with the tip version of
thread_test.c, and all work if I add 'volatile' to the definitions of
errno1_set and errno2_set.

There's still the question of which version of the program is giving the
right answers - the 7.4.2 version or the tip version?

RH 7.2:

[wrp(at)cherry thread]$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.2 2.96-112.7.2)

RH AS 3.0:

$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--host=i386-redhat-linux
Thread model: posix
gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-24)

Mac OS X:

% gcc -v
Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs
Thread model: posix
gcc version 3.3 20030304 (Apple Computer, Inc. build 1495)

Wes

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Konstantinos Agouros 2004-04-04 15:28:20 Invalid page header in block...
Previous Message Mooney, Ryan 2004-04-04 06:39:31 Re: Large DB

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2004-04-04 12:19:21 Re: Function to kill backend
Previous Message Andrew Dunstan 2004-04-04 07:51:59 Re: Function to kill backend