Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Glib::Signal(3)	      User Contributed Perl Documentation      Glib::Signal(3)

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)
       o   $func (subroutine)

       o   $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)
       o   $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
       o   'run-first' / 'G_SIGNAL_RUN_FIRST'

       o   'run-last' /	'G_SIGNAL_RUN_LAST'

       o   'run-cleanup' / 'G_SIGNAL_RUN_CLEANUP'

       o   'no-recurse'	/ 'G_SIGNAL_NO_RECURSE'

       o   'detailed' /	'G_SIGNAL_DETAILED'

       o   'action' / 'G_SIGNAL_ACTION'

       o   '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.

perl v5.24.1			  2017-07-02		       Glib::Signal(3)

NAME | DESCRIPTION | METHODS | ENUMS AND FLAGS | SEE ALSO | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Glib::Signal&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help