타이머 사용 시 sleep / usleep / nanosleep 문제..

sadtale의 이미지

인텔 아톰 프로세서를 사용하는 보드에 우분투 리눅스를 올려 사용하고 있습니다.

timer_create 함수로 RTC 타이머를 하나 돌리고 있습니다...

그런데 이렇게 되니 main 에서 sleep 종류의 함수가 안먹힙니다..
타이머 시그널이 sleep 도 깨워버리는거죠..

예를 들어 타이머를 10ms 로 설정해 놓고 돌리면, sleep(1) 을 줘도
sleep 도 10ms 마다 깨어나 버립니다.

물론 10ms 보다 짧게 usleep 을 주면 제대로 동작을 하구요..

헌데 별도의 thread 를 하나 더 만들어서 그 thread 내에서 sleep 을 주면 그건 멀쩡하게 먹히더군요..

별도 thread 를 만들지 않고 이 문제를 해결할 방법이 없을까요?