Provided by: libglib-perl_1.320-2_amd64 bug

NAME

       Glib::Signal -  Object customization and general purpose notification

DESCRIPTION

       This page describes some functions related to signals in Glib.  Since most things you can
       do with signals are tied to Glib::Object instances, the majority of the signal functions
       are documented there.

   Thread safety
       Some libraries, most notably GStreamer, sometimes invoke signal handlers from a foreign
       thread that has no Perl interpreter associated with it.  When this happens, we have no
       choice but to hand the marshalling over to the main loop which in turn later wakes up the
       main thread and lets it handle the request.  We cannot invoke the signal handler from the
       foreign thread since the Perl interpreter may not be used concurrently.

       The downside to this approach is that the foreign thread is blocked until the main thread
       has finished executing the signal handler.  This might lead to deadlocks.  It might help
       in this case to wrap the crucial parts of the signal handler inside a Glib::Idle callback
       so that the signal handler can return directly.

METHODS

   integer = Glib->install_exception_handler ($func, $data=undef)
       •   $func (subroutine)

       •   $data (scalar)

       Install a subroutine to be executed when a signal emission traps an exception (a croak or
       die).  $func should return boolean (true if the handler should remain installed) and
       expect to receive a single scalar.  This scalar will be a private copy of $@ which the
       handler can mangle to its heart's content.

       Returns an identifier that may be used with "remove_exception_handler".

       See "gperl_install_exception_handler()" in Glib::xsapi.

   Glib->remove_exception_handler ($tag)
       •   $tag (integer)

       Remove the exception handler identified by $tag, as returned by
       "install_exception_handler".  If $tag cannot be found, this does nothing.

       WARNING:  Do not call this function from within an exception handler.  If you want to
       remove your handler during its execution just have it return false.

       See "gperl_remove_exception_handler()" in Glib::xsapi.

ENUMS AND FLAGS

   flags Glib::SignalFlags
       •   'run-first' / 'G_SIGNAL_RUN_FIRST'

       •   'run-last' / 'G_SIGNAL_RUN_LAST'

       •   'run-cleanup' / 'G_SIGNAL_RUN_CLEANUP'

       •   'no-recurse' / 'G_SIGNAL_NO_RECURSE'

       •   'detailed' / 'G_SIGNAL_DETAILED'

       •   'action' / 'G_SIGNAL_ACTION'

       •   'no-hooks' / 'G_SIGNAL_NO_HOOKS'

SEE ALSO

       Glib, Glib::Object

COPYRIGHT

       Copyright (C) 2003-2011 by the gtk2-perl team.

       This software is licensed under the LGPL.  See Glib for a full notice.