libbsd sx locks - interruptible required

Joel Sherrill joel.sherrill at OARcorp.com
Wed Oct 17 14:03:55 UTC 2012


Hi

Our implementation of sx_lock and friends is based on
RTEMS Classic Semaphores which are NOT interruptible
(by signals I assume). The sosend_generic() call is passing
in the option flag to have the call be interruptible.

For now, we are disabling the panic in rtems-bsd-sx.c
for attempting an interruptible sx_lock().

Our question is.. any ideas on how not having interruptible
working will impact the socket() behaviour?

One thought is to have an attribute "interruptible by
POSIX signal" on Classic Semaphore when POSIX is
enabled. This feature is already supported in the
Score Thread Queue so it would only change how the
thread queue is initialized for an instance of a Classic
Semaphore.

Generically, this may end up being an attribute on Classic
API blocking objects that are used in the BSD kernel.
I don't know how many we are actually using though.

-- 
Joel Sherrill, Ph.D.             Director of Research&  Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35806
Support Available               (256) 722-9985




More information about the devel mailing list