|
View:
New views
20 Messages
—
Rating Filter:
Alert me
|
| < Prev | 1 - 2 | Next > |
|
|
interthread communication library "sigx++" (crossposting)I would like to announce my work on "sigx++", a c++ interthread
communication library on top of libsigc++ and glibmm. It features: * dispatcher based interthread communication * typesafe functor adaptors to execute functions in the context of another thread (send messages inbetween threads) * threadsafe wrappers for signals and connections * deadlock detection for synchronous messages * ready-to-use with glibmm/gtkmm based programs More specifically: * every variant of interthread communication is done via a dispatcher under the hood; This means that communication except for the dispatcher and synchronous messages is lock-free; instead of making functors, signals and connections threadsafe by themselves they rather have wrappers that offer the same interface and send a message to the concrete signal or connection in the context of another thread (i.e. to the thread that owns the signals). * the dispatcher mechanism itself is generic such that multiple dispatcher implementations can be plugged in * e.g. sigx++ out of the box extends the Glib::Dispatcher in a way that not only nullary callbacks can be executed but callbacks with an arbitrary number of arguments * for sending messages between threads, there exists a "tunnel" functor adaptor adapting functions to be executed in the context of another thread * sigx++ introduces a "dispatchable" concept, i.e. a class that just can be part of interthread communication * sigx++ introduces a "threadable" concept, i.e. a class executed as a thread * glibmm based implementations of dispatchable/threadable that create and set up a glibmm thread context allow sigx++ to be used directly within gtkmm programs sigx++ started from ideas of Tim Mayberry's project "glibmmx" and some discussions with him helped me to bring sigx++ to its current level. I personally consider sigx++ as completed regarding its functionality except the support for system signals; still some work needs to be done though. If you are interested in the library you can download it at http://triendl.info/sigx The example and test programs should give an impression how sigx++ can be used. Questions and comments are welcome and I hope for constructive discussions! Klaus Triendl _______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
Re: interthread communication library "sigx++" (crossposting)Hello,
I've built a Debian Package for Hardy Heron of sigx, it's available here: http://futurepast.free.fr/debian/ Cheers Milosz
2008/4/13 klaus triendl <klaus@...>: I would like to announce my work on "sigx++", a c++ interthread _______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
Re: interthread communication library "sigx++" (crossposting)Milosz Derezynski schrieb:
> Hello, > > I've built a Debian Package for Hardy Heron of sigx, it's available > here: http://futurepast.free.fr/debian/ > > Cheers > Milosz Hi Milosz, wow, that's interesting news! Did you or anybody take a look at it already? What I still like to do is to acknowledge Andreas Rottmann for his work on libsigcx which I used before, giving me some ideas for sigx++. Would be nice to hear something from you, Andreas... To all: Sorry, I did the crossposting wrong (no follow-up), so I'm writing to both newsgroups... -- Klaus _______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
Re: interthread communication library "sigx++" (crossposting)On Thu, 2008-05-01 at 21:18 +0200, Milosz Derezynski wrote:
> Hello, > > I've built a Debian Package for Hardy Heron of sigx, it's available > here: http://futurepast.free.fr/debian/ Thanks. Please do open an Ubuntu bug about it, so it can go into the official repository. -- murrayc@... www.murrayc.com www.openismus.com _______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
Re: interthread communication library "sigx++" (crossposting)Hey Klaus,
Yes i've started using it in our new project MPX: http://mpx.backtrace.info; the library is really great, i'd like to thank you very much for making this available to everyone! Cheers Milosz 2008/5/1 klaus triendl <klaus@...>: Milosz Derezynski schrieb: _______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
Re: interthread communication library "sigx++" (crossposting)Yes i will, though the packaging still needs a little work, quite a few things that lintian doesn't like yet; the package is allright for installing but Ubuntu most likely won't accept it without fixing these. I'll check it tomorrow.
2008/5/1 Murray Cumming <murrayc@...>:
_______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
Re: interthread communication library "sigx++" (crossposting)Hmm i already have the first question; going by the example and docs i've created a class derived from glib::threadable, and connect to it in a glib_auto_dispatchable derived class.
However, on startup i get: terminate called after throwing an instance of 'sigx::bad_dispatcher' what(): dispatcher pointer is invalid, message can't be dispatched Aborted What could be the problem? I can't see anything wrong (doesn't mean it's there, but i can't find it..) Thanks Milosz 2008/5/1 klaus triendl <klaus@...>: Milosz Derezynski schrieb: _______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
Re: interthread communication library "sigx++" (crossposting)I've only forgot to run the thread; sorry for much ado..
2008/5/1 Milosz Derezynski <internalerror@...>: Hmm i already have the first question; going by the example and docs i've created a class derived from glib::threadable, and connect to it in a glib_auto_dispatchable derived class. _______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
Re: interthread communication library "sigx++" (crossposting)在 2008-05-01四的 23:35 +0200,Milosz Derezynski写道:
> Yes i will, though the packaging still needs a little work, quite a > few things that lintian doesn't like yet; the package is allright for > installing but Ubuntu most likely won't accept it without fixing > these. I'll check it tomorrow. > Or you can prepare it for Debian and let Ubuntu sync with it, so both Debian and Ubuntu will have it. I'll do it if I find some time. > 2008/5/1 Murray Cumming <murrayc@...>: > On Thu, 2008-05-01 at 21:18 +0200, Milosz Derezynski wrote: > > Hello, > > > > I've built a Debian Package for Hardy Heron of sigx, it's > available > > here: http://futurepast.free.fr/debian/ > > > Thanks. > > Please do open an Ubuntu bug about it, so it can go into the > official > repository. > > -- > murrayc@... > www.murrayc.com > www.openismus.com > > > _______________________________________________ > gtkmm-list mailing list > gtkmm-list@... > http://mail.gnome.org/mailman/listinfo/gtkmm-list Regards, Deng Xiyue, a.k.a. manphiz _______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
Re: interthread communication library "sigx++" (crossposting)Hey Klaus,
We're now really looking at packaging sigx, and we found a few problems with the source package and have also a few requests: - dispatchables.cpp and tunnel_validity_tracker.cpp are missing an include of <glib/gtestutils.h> - There is no way to specify an own compiler with the build system; one fried of mine has problems building it with g++ 4.2.1, he's installed 4.3 but has no way to point the build to it - A link to an SCM repository of sigx would be really nice OK, it's a little lot at one time but you've gained some popularity here among a group of my friends because the library really rocks! It would be nice if you could fix the above problems, if you have the time. Thanks Milosz 2008/5/1 klaus triendl <klaus@...>: Milosz Derezynski schrieb: _______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
|
|
|
Re: Re: interthread communication library "sigx++" (crossposting)On Sat, 2008-05-03 at 10:28 +0200, klaus triendl wrote:
> > - There is no way to specify an own compiler with the build system; > one > > fried of mine has problems building it with g++ 4.2.1, he's > installed 4.3 > > but has no way to point the build to it > > I'll include this possibility. Does it use some strange build system? -- murrayc@... www.murrayc.com www.openismus.com _______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
|
|
|
Re: Re: interthread communication library "sigx++" (crossposting)Hey Klaus,
Before you officially package it I still want to change the open_tunnel() API - in case you didn't need it yet it's because sigx++ does it normally under the hood. But it belongs to the public API and it's not good to change it later as I don't want to change the major version already at the very beginning. It would be great if you could help me to find a naming for those taking an explicit dispatchable. Ok, and as soon as a name strucks me i'll post it to the list, i haven't thought about it yet (maybe someone else has?) Well, the assertion facilities moved from gmessages.h to gtestutils.h as I've just found out. The question is how to fix this - do you need backward compatibility or should sigx++ depend on glib-2.16? Personally i think backwards compatibility could be good; looks like a bad move from glib's side to change this.
Thanks
We had bad experiences with berlios in the past (server downtimes for long time), SourceForge can be problematic too but it's proven, i think google code is very reliable (having past experiences with berlios and sourceforge i'd just choose Google Code these days).
_______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
Re: Re: interthread communication library "sigx++" (crossposting)On Sat, 2008-05-03 at 10:28 +0200, klaus triendl wrote:
> > - A link to an SCM repository of sigx would be really nice > > I know, I'm missing a SCM, too. I'm thinking about sourceforge.net, berlios.de or google - do you have a good suggestion? Frankly, I would suggest something like github.com for a new project these days. But that's just a source code repository. it doesn't offer bug tracking or anything like that. So if you want a fully integrated solution, google code is probably your best bet. -- Jonner _______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
Re: [sigc] interthread communication library "sigx++" (crossposting)On Sat, 2008-05-03 at 15:08 +0200, Milosz Derezynski wrote:
> > Well, the assertion facilities moved from gmessages.h to > gtestutils.h as I've just found out. The question is how to > fix this - do you need backward compatibility or should sigx++ > depend on glib-2.16? Apparently you are not meant to include either header directly, but should use glib.h. I'm not a big fan of that or of the change, but enough people have complained in the right places already without success. > Personally i think backwards compatibility could be good; looks like a > bad move from glib's side to change this. -- murrayc@... www.murrayc.com www.openismus.com _______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
Re: [sigc] interthread communication library "sigx++" (crossposting)Murray Cumming schrieb:
> On Sat, 2008-05-03 at 15:08 +0200, Milosz Derezynski wrote: >> Well, the assertion facilities moved from gmessages.h to >> gtestutils.h as I've just found out. The question is how to >> fix this - do you need backward compatibility or should sigx++ >> depend on glib-2.16? > > Apparently you are not meant to include either header directly, but > should use glib.h. I'm not a big fan of that or of the change, but > enough people have complained in the right places already without > success. I'm not a big fan either but as it only affects cpp files, including glib.h is a viable solution. -- Klaus _______________________________________________ gtkmm-list mailing list gtkmm-list@... http://mail.gnome.org/mailman/listinfo/gtkmm-list |
|
|
Re: interthread communication library "sigx++" (crossposting) |