Thread-save posting of events



Hello!

I'm new to this list and also a novice in GTK programming. My company is
considering to port some of our Windows service (aka daemon)
applications to GNU/Linux and thus I'm evaluating what libraries to use
for that. Currently I'm programming with Delphi5 on Windows and I plan
to use gcc C/C++ on GNU/Linux.

Most of our applications are some kind of TCP/IP servers which have each
client implemented as one thread. The communication between the threads
is performed by sending standard windows messages (PostMessage() or
SendMessage() if somebody here is familiar with the Win32 API).

I had a look at GTK/GLib and the main/event loop seems to be similar to
that. But what is not clear to me is how to place an event in the event
loop of another thread. If I raise an signal the connected slots will be
executed immediately, or? Thus this mechanism seems not to be useful for
inter-thread-communication. Maybe I have to use a pipe and assign
read/write handlers in each thread?

It seems like there is some functionality like this in wxWidgets:
http://www.wxwidgets.org/manuals/stable/wx_wxevthandler.html#wxevthandleraddpendingevent

Is such thing also available in native GTK/GLib?

/Tobias

PS: Does anybody know about a good tutorial/example on the net
demonstrating how to port Win32 (service) applications to GNU/Linux?
When searching with Google I find a lot useless pages about Wine or
.NET/Mono .

-- 
NOA Audio Solutions Vertriebsges.m.b.H.    Tel: +43-1-5452700
Johannagasse 42/4                          Fax: +43-1-545270014
A - 1050 Wien                              Www: http://www.noa-audio.com




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