Jak rozumiem, domyślny rozmiar stosu dla pthread w systemie Linux to 16 KB. Otrzymuję dziwne wyniki w mojej 64-bitowej instalacji Ubuntu.
$ ulimit -s
8192
Również:
pthread_attr_init(&attr);
pthread_attr_getstacksize(&attr, &stacksize);
printf("Thread stack size = %d bytes \n", stacksize);
Prints
Thread stack size = 8388608 bytes
Jestem pewien, że rozmiar stosu to nie „8388608”. Co może być nie tak?
8388608 / 1024 = 8192
.