Ошибка сегментации в многопоточном приложении - PullRequest
0 голосов
/ 15 ноября 2011

У меня ошибка сегментации в многопоточном приложении, которая становится головной болью.Похоже, проблема возникает в вызове usleep .Я попытался заменить его на nanosleep , но это сохраняется.Он также появляется рядом с вызовом sem_timedwait.

Я компилирую с опцией gcc и -lpthread.

Может ли это быть причиной ошибки сегментации?В чем может быть причина?

1 Ответ

3 голосов
/ 15 ноября 2011

Ошибка сегментации означает, что вы обращаетесь к памяти, на которую у вас нет прав.Обычно это происходит из-за ошибки границ массива или устаревшего указателя, например, доступ после освобождения.Вызов режима сна вряд ли будет связан с этим, если только вы не используете режим сна в качестве инструмента синхронизации!Вы можете использовать valgrind, чтобы отследить вашу ошибку.

...