POSIX timer failure

Hi, I’m using the POSIX timer functions (timer_create, timer_settime) to
manage comms timeouts and, under SLES 11, I’m hitting some problems.

Basically, I create a first timer then create and delete a number of
other ones before the first timer times out. When it times out, the
timeout function doesn’t appear to be called and the next timer_create
call hangs up indefinitely (see attached code*). The code works fine on
SLES 10.

Attaching a debugger, I can see that the timer_create call hangs up in
pthread_mutex_lock after the first timer has expired.

Anybody any ideas? Am I abusing the timers? Has something changed in
the semantics at SLES 11?

Thanks
Phil

  • compiled with g++ tim3.c -o tim3s11 -lrt

±---------------------------------------------------------------------+
|Filename: tim3.zip |
|Download: http://forums.novell.com/attachment.php?attachmentid=4301 |
±---------------------------------------------------------------------+


sandersonpj

sandersonpj’s Profile: http://forums.novell.com/member.php?userid=83767
View this thread: http://forums.novell.com/showthread.php?t=408327

My intermittent researches into this have revealed this bug, which might
be pertinent.‘Bug 7094 - Bug in creating/deleting posix per process
timers with SIGEV_THREAD notification method’
(http://sourceware.org/bugzilla/show_bug.cgi?id=7094).

How can I tell if this has been addressed in SLES 11?

Thanks


sandersonpj

sandersonpj’s Profile: http://forums.novell.com/member.php?userid=83767
View this thread: http://forums.novell.com/showthread.php?t=408327