Я использую этот код в AIX / HP-UX / LINUX, но когда я пытаюсь запустить его на Mac OS X, он не работает хорошо:
pthread_t m_thread;
int merror;//thread return
cout << "init" << endl;
if (m_thread != NULL){
cout << "running" << endl;
merror= pthread_create(&m_thread, NULL, _exec, NULL);//initialize thread
}
В Linux создается pthread, и на экране появляется сообщение о запуске.
Но на Mac OS X m_thread возвращает ноль, поэтому o не может выполнить тот же код на MAC OS X, кто-то знает, почему это происходит.
Код компиляции: g ++ -g -o sclient sclient.cpp socket.cpp -pthread -lpthread -thread