Я провожу некоторые тесты профилирования, и usleep - полезная функция. Но пока моя программа спит, это время не отображается в профиле.
например. если у меня есть функция как:
void f1() {
for (i = 0; i < 1000; i++)
usleep(1000);
}
При использовании инструментов профиля, таких как gprof, f1, похоже, не тратит время.
То, что я ищу, - это метод лучше, чем пустой цикл while для активного сна, например:
while (1) {
if (gettime() == whatiwant)
break;
}