Имеем такой тривиальный текст :
int rc;static pthread_t wt;void * worker(void * data) { . . . } syslog(LOG_ERR, ">>>>>> sen_start_mileage"); // Запускаем нить, которая будет регулярно считывать показания датчика rc = pthread_create(&wt, NULL, worker, NULL); syslog(LOG_ERR, "<<<<<< sen_start_mileage");
Приблизительно в половине случаев (закономерности никакой не обнаружил) в сислоге второй строки нет, а вызывающий процесс оказывается заблокированным. Т.е. созданная нитка работает и посылает сообщения, а породившая нить повисает насмерть…
Есть у кого идеи - с чем это может быть связано ?