GNOME Bugzilla – Bug 112172
Get rid of VteReaper
Last modified: 2014-03-24 21:13:25 UTC
The singleton object VteReaper should be moved to some base library such as libgnome. The reason for this request is two-fold: a) the object grabs the SIGCHLD signal and reaps all the process children making it impossible to get such notification without connecting to the reaper (the signal handler could be replaced, but that would break the Vte widget) b) once the singleton has been created it cannot be destroyed, thus making the use of vte for a plugin impractical These problems were found while playing with the plugins in anjuta2. More specifically, because of b) the terminal plugin cannot be unloaded dinamically; and because of a) the project backend plugin cannot tell when the script it uses to modify automake projects has exited. Having VteReaper in a base library makes it possible for all the components of an application be able to get SIGCHLD notifications, and it's very unlikely that a base library will need to be unloaded.
There's a copy in gnome-control-center as well, another argument for moving it.
Created attachment 63289 [details] [review] vte patch
Created attachment 63290 [details] [review] g-t patch
Ah, attached patches to wrong bug. Please ignore.
Anyone willing to submite a patch to move this to glib?
So, we can simply get rid of it and use g_child_watch_add() instead.
In fact with glib >= 2.4.0 (which vte requires anyway), VteReaper becomes a wrapper around g_child_watch_add().
Created attachment 113485 [details] [review] [PATCH] Das Terminal und der Tod. Bug #112172. doc/reference/tmpl/reaper.sgml | 25 --- doc/reference/vte-docs.sgml | 2 - doc/reference/vte-sections.txt | 17 -- doc/reference/vte.types | 2 - src/Makefile.am | 18 +-- src/reaper.c | 327 ---------------------------------------- src/reaper.h | 64 -------- src/vte-private.h | 3 +- src/vte.c | 129 +++++++--------- 9 files changed, 59 insertions(+), 528 deletions(-)
Looks good. Are you planning to break API this cycle? That would be a good idea and we can even call it 1.0 after an API review.
I guess it's a bit late in the cycle to get all the want-1.0's in. Let's try for 2.26 ?
Sounds good. Feel free to branch for 2.24 already.
ping. Can this be applied in 2.27?
This is scheduled for vte 1.0. I'm not sure however 2.28 will see 1.0. Do you have a particular need for this patch?
No particular need, just pushing patches that are being carried by Ubuntu. On closer look the Ubuntu patch seems to be related to adding VteReaper Python support..