Re: Realtime safe signalling?



Jan Hudec wrote:

On Tue, Feb 01, 2005 at 17:30:51 -0500, Paul Davis wrote:
no. none of these mechanisms are safe.
=20
you need to to use some kernel facility (FIFOs are my favorite) to do
And what do you think Glib::Dispatcher::emit() is using?? Right, FIFOs.
Be sure not to share one dispatcher between several threads though as it
does some locking.
no locking is acceptable at all for RT usage. My implementation of the
same idea stuffs Slots into a lock-free FIFO, and then writes a single
bytes to the FIFO to wake up the GUI. If you lock, its not RT-safe.

Yes. Sure. Glib::Dispatcher is no good for RT.
Do you mean this quote from http://www.gtkmm.org/docs/glibmm-2.4/docs/reference/html/classGlib_1_1Dispatcher.html: "After instantiation, Glib::Dispatcher will never lock any mutexes on its own. The interaction with the GLib main loop might involve locking on the /receiver/ side. The /sender/ side, however, is guaranteed not to lock, except for internal locking in the |write()| system call." ?

But can FIFO, created wth the use of mkfifo, be of a proper use for RT signals? There is a special file created in
a filesystem - is it good?
   Igor Gorbounov



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]