|
View:
New views
20 Messages
—
Rating Filter:
Alert me
|
|
|
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 _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-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 _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-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 _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-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 _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-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@...>:
_______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-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: _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-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. _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-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 _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-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: _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-list |
|
|
|
|
|
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 _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-list |
|
|
|
|
|
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).
_______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-list |
|
|
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 _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-list |
|
|
Re: 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 _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-list |
|
|
Re: 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 _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-list |
|
|
Re: interthread communication library "sigx++" (crossposting)Jonathon Jongsma schrieb:
> 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. Does somebody have experiences with savannah.nongnu.org? They seem to provide a git repository plus all the other things. Also it seems that git doesn't run on windows without cygwin. Is there somebody developing entirely on windows? -- Klaus _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-list |
|
|
Re: interthread communication library "sigx++" (crossposting)On Sat, 2008-05-03 at 22:04 +0200, klaus triendl wrote:
> Jonathon Jongsma schrieb: > > 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. > > Does somebody have experiences with savannah.nongnu.org? They seem to > provide a git repository plus all the other things. Marko Anastasov has a project there I believe. I'm not a fan of their bug tracker at all, but it is another option. > Also it seems that git doesn't run on windows without cygwin. Is there > somebody developing entirely on windows? That's not entirely true, there is a mingw-git branch. I don't think It's completely on par with git on *nix yet though. -- Jonner _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-list |
|
|
Re: interthread communication library "sigx++" (crossposting)On Sat, May 3, 2008 at 10:08 PM, Jonathon Jongsma
<jonathon@...> wrote: > On Sat, 2008-05-03 at 22:04 +0200, klaus triendl wrote: > > Jonathon Jongsma schrieb: > > > 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. > > > > Does somebody have experiences with savannah.nongnu.org? They seem to > > provide a git repository plus all the other things. > > Marko Anastasov has a project there I believe. I'm not a fan of their > bug tracker at all, but it is another option. Yes [1]. At that point I was specifically looking for a place with git source code hosting, and, not counting repo.or.cz, it was the only option. I wouldn't actually recommend it because it took more than a month until my project registration was "processed". New project registration was even frozen for a while recently. From my observations of that and the mailing lists, there's basically just one person, possibly a volunteer, doing that and more important administration work. Your files are supposed to be very rigorously reviewed first for all kinds of licencing issues, all the way to FSF addresses at the bottom. And I agree that the bug tracker, as well as practically any other part of the site has serious usability issues (it gets in the way). I think that I would also go with github now (if I had a new project). I couldn't find out if there are any plans for bug tracking there, although my impression is that currently they're mostly focused on getting the git and collaboration done well. It actually seems more likely that eg lighhouse [2] will implement some code integration capabilities based on github's web API. While typing this, I've found out that there's something basic already working [3], from the other direction. If you're really looking for an all-in-one solution then I'd say that assembla [4] is very nice. I'm using Trac and Mercurial (I very much like both now) on it with a friend on a private project daily and it's just great. I see that they offer git as an option now too, which is interesting news, also because it means that there's a working git plugin for Trac. As you can see, I am in favour of distributed SCM :) > > Also it seems that git doesn't run on windows without cygwin. Is there > > somebody developing entirely on windows? > > That's not entirely true, there is a mingw-git branch. I don't think > It's completely on par with git on *nix yet though. I'm not sure if this is what you mean, but anyway, for reference, there's msysgit [5], and I've read some praising blog post recently how it's working fine but can't find it anymore. Marko [1] http://savannah.nongnu.org/projects/gtkmm-utils/ [2] http://lighthouseapp.com [3] http://github.com/blog/41-service-integration [4] http://www.assembla.com [5] http://code.google.com/p/msysgit/ _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-list |
|
|
Re: interthread communication library "sigx++" (crossposting)On Mon, 2008-05-05 at 00:48 +0200, Marko Anastasov wrote:
> > That's not entirely true, there is a mingw-git branch. I don't think > > It's completely on par with git on *nix yet though. > > I'm not sure if this is what you mean, but anyway, for reference, there's > msysgit [5], and I've read some praising blog post recently how it's working > fine but can't find it anymore. > [5] http://code.google.com/p/msysgit/ Yes, that's what I was thinking of. Thanks for providing the link. -- Jonner _______________________________________________ libsigc-list mailing list libsigc-list@... http://mail.gnome.org/mailman/listinfo/libsigc-list |
| Free embeddable forum powered by Nabble | Forum Help |