Я пытаюсь создать тему с функцией pthread_create
.Вызов выглядит примерно так: res pthread_create(&threadID, &atributte, function, argument)
res
значение всегда 0
, что означает, что pthread_create запускает поток правильно.Проблема, я думаю, в последнем параметре (аргументе).Это слишком длинная строка, и я думаю, что это приводит к сбою моей программы, потому что, если я пытаюсь использовать более короткую строку, все это правильно и заканчивается правильно.
Мне было интересно, если pthread_create
создает поток с определенным количествомпамяти и если кто-либо из вас знает это количество.
PD: Мой журнал ничего не показывает, я помещаю cout
в первую строку function
, но никогда не читается, потому что моя программа аварийно завершает работу до этогослучается.
Спасибо всем!
Редактировать: Остальной код, как я создаю тему.
void znkModulePlugin::createMainProcess(void* mod){
znkModulePlugin* module = static_cast<znkModulePlugin*>(mod);
try{
int res = 0;
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
res = pthread_create(&threadID, &attr, znkModulePlugin::launchThread, module);
}catch(exception e){
stringstream log_msg;
log_msg << " CRIT znkModulePlugin::createMainProcess() -> Critical Error: " << e.what() << ". Reseting Node.";
logData(log_msg.str());
}
}