Project

General

Profile

Bug #118

wdLib not thread safe / async-signal-safe

Added by Anthony Mallet almost 2 years ago.

Status:
New
Priority:
Normal
Assignee:
-

Description

wdStart() is used by h2timerLib and is called indirectly from the
sysClkInt() routine by the h2timerLib functions.

wdStart() is currently not async-signal-safe, because it
usespthread_mutex_lock().

In addition to this, all functions from wdLib block the SIGALRM signal
in order to be mutually exclusive with tickAnnounce() that scan the
watchdog list and runs the associated routines. However, the signal is
blocked only for the calling thread, thus not preventing the SIGALRM
signal to be delivered to another thread. All in all, this makes wdLib
not thread safe.

Also available in: Atom PDF