Si je comprends bien, la taille de pile par défaut pour un pthread sous Linux est 16K. J'obtiens des résultats étranges sur mon installation Ubuntu 64 bits.
$ ulimit -s
8192
Également:
pthread_attr_init(&attr);
pthread_attr_getstacksize(&attr, &stacksize);
printf("Thread stack size = %d bytes \n", stacksize);
Prints
Thread stack size = 8388608 bytes
Je suis sûr que la taille de la pile n'est pas "8388608". Qu'est-ce qui ne va pas?
8388608 / 1024 = 8192
.