سلام @Vinky_99
من همانطور که شما گفتید تغییر کردم، لطفاً این را بررسی کنید
s = pthread_attr_init(&attr);
if (s != 0) {
FYI(FYI_FATAL، “%s pthread_attr_init ناموفق %ld
“،__FUNCTION__,s);
خروج (1)؛
}
if (pthread_attr_getstacksize(&attr, &StackSize) != 0) {
StackSize = PTHREAD_STACK_MIN.
}
/* بررسی کنید که آیا پشته به اندازه کافی بزرگ است */
if (StackSize < PTHREAD_STACK_MIN) {
FYI(FYI_INFORM، “اندازه پشته کمتر از PTHREAD_STACK_MIN، کدگذاری سخت به PTHREAD_STACK_MIN
” );
StackSize = PTHREAD_STACK_MIN.
s = pthread_attr_setstacksize(&attr، StackSize);
}
/* stacksize را تنظیم کنید و سعی کنید در صورت شکست، attr را مجدداً مقداردهی کنید */
if (StackSize >= PTHREAD_STACK_MIN && pthread_attr_setstacksize(&attr, StackSize) != 0 && pthread_attr_init(&attr)) {
FYI(FYI_INFORM، “نمی توان اندازه پشته رشته گزارش را تنظیم کرد
“);
خروج (1)؛
}
منبع: https://community.hpe.com/t5/languages-and-scripting/pthread-stack-size/m-p/7184924#M48527
تحریریه مجله اچ پی