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