Re: Поведение libc
В сообщении от 21 Июнь 2007 21:23 Yuri Kozlov написал(a): Я, конечно, не силён в этом, но судя по http://www.opengroup.org/pubs/online/7908799/xsh/timer_create.html CLOCK_REALTIME должен быть реализован везде, а остальное никто не обещал. :) Что и говорит ошибка [EINVAL] The specified clock ID is not defined. На мой взгляд CLOCK_MONOTONIC должен быть либо реализован во всех функциях, либо нигде. А получается что clock_getres работает всегда, а timer_create только когда прилинковано динамически. Кроме того, CLOCK_MONOTONIC очевидно есть в 2.6 ядре. А в 2.4 POSIX Real Time не поддержан вообще. -- Макс -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Поведение libc
В сообщении от 21 Июнь 2007 18:50 Max Dmitrichenko написал(a): Если её скомпилировать и слиноковать динамически с libc и librt, то все работает. Если же это делать статически, то timer_create возвращает EINVAL, при этом, если заменить CLOCK_MONOTONIC на CLOCK_REALTIME, то все опять работает. То есть статическая версия libc почему-то не хочет создавать таймер, привязанный к CLOCK_MONOTONIC, однако clock_getres работает для обоих типов линковки и с CLOCK_MONOTONIC, и с CLOCK_REALTIME. Проверено и в sarge, и в ethc. Кто-нибудь скажет, чем обусловлено такое поведение? Пытаюсь уже сам понять, ковыряясь в исходниках glibc. Только там как минимум две реализации функции timer_create: 1) nptl/sysdeps/pthread/timer_create.c 2) nptl/sysdeps/unix/sysv/linux/timer_create.c Как понять которая из них используется? Тут есть вообще кто-нибудь, кто эти таймеры использовал? -- Макс -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Поведение libc
21.06.07, Max Dmitrichenko[EMAIL PROTECTED] написал(а): Привет всем! Столкнулся с проблемой и не знаю от чего она и как её побороть. Если же это делать статически, то timer_create возвращает EINVAL, при этом, если заменить CLOCK_MONOTONIC на CLOCK_REALTIME, то все опять работает. То есть статическая версия libc почему-то не хочет создавать таймер, привязанный к CLOCK_MONOTONIC, однако clock_getres работает для обоих типов линковки и с CLOCK_MONOTONIC, и с CLOCK_REALTIME. Проверено и в sarge, и в ethc. Кто-нибудь скажет, чем обусловлено такое поведение? Я, конечно, не силён в этом, но судя по http://www.opengroup.org/pubs/online/7908799/xsh/timer_create.html CLOCK_REALTIME должен быть реализован везде, а остальное никто не обещал. :) Что и говорит ошибка [EINVAL] The specified clock ID is not defined. -- Regards, Yuri Kozlov