shared variable
Fernando Nasser
fnasser@cygnus.com
Wed Feb 7 08:51:00 GMT 2001
Nicolas Vignal wrote:
>
> Hello
>
> I know that shared variable must be lock. But behaviour of software under
> debugger and reality should be the same.
Not really. There is timing involved and debuggers introduce "artifact". Results can be unpredictably different.
> If you try this little code under
> the last linux gdb snapshot you will see a difference.
>
> On console I have :
>
> I create the thread number 1026
> I am the thread number 1026
>
> Under gdb :
>
> I am the thread number -1
> I create the thread number 1026
>
> Regards
>
> Nicolas
>
> #include <stdio.h>
> #include <pthread.h>
>
> pthread_t threadID=-1;
>
> int function(void)
> {
> printf("I am the thread number %d\n",threadID);
>
> while (1);
>
> return 0;
> }
>
> int main(int argc, char *argv[])
> {
>
> pthread_create(&threadID, NULL, function, NULL);
> printf("I create the thread number %d\n",threadID);
>
> return 0;
> }
--
Fernando Nasser
Red Hat - Toronto E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9
More information about the Gdb
mailing list