After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 568460 - Add a gperl_callback_invoke variant that traps exceptions
Add a gperl_callback_invoke variant that traps exceptions
Status: RESOLVED OBSOLETE
Product: gnome-perl
Classification: Bindings
Component: Glib
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gtk2-perl-bugs
gtk2-perl-bugs
Depends on:
Blocks: 567658 567659 567666
 
 
Reported: 2009-01-20 18:20 UTC by Torsten Schoenfeld
Modified: 2021-07-05 12:22 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Torsten Schoenfeld 2009-01-20 18:20:07 UTC
For various applications, we need a gperl_callback_invoke variant that traps exceptions.

Since we can't change GPerlCallback, I think it would make sense to add a new function gperl_callback_invoke_trapped that would basically be a copy of gperl_callback_invoke with exception handling added.  The exception handling code can be copied from GPERL_CLOSURE_MARSHAL_CALL, I think.

When doing this, it would also make sense to add a private function _gperl_callback_invoke_real which takes a call_exception_handlers boolean and a list of arguments.  gperl_callback_invoke and its _trapped variant could then convert their va_list arguments to a list and just call _gperl_callback_invoke_real.

When this is done, we can audit the GPerlCallback users for whether they should be switched to using the _trapped variant.
Comment 1 GNOME Infrastructure Team 2021-07-05 12:22:19 UTC
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org.
As part of that, we are mass-closing older open tickets in bugzilla.gnome.org
which have not seen updates for a longer time (resources are unfortunately
quite limited so not every ticket can get handled).

If you can still reproduce the situation described in this ticket in a recent
and supported software version, then please follow
  https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines
and create a new ticket at
  https://gitlab.gnome.org/GNOME?utf8=%E2%9C%93&filter=perl-

Thank you for your understanding and your help.