Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

glib::signal(3pm) [debian man page]

Glib::Signal(3pm)					User Contributed Perl Documentation					 Glib::Signal(3pm)

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.14.2 2012-05-24 Glib::Signal(3pm)

Check Out this Related Man Page

Glib::Flags(3pm)					User Contributed Perl Documentation					  Glib::Flags(3pm)

NAME
Glib::Flags - Overloaded operators representing GLib flags HIERARCHY
Glib::Flags DESCRIPTION
Glib maps flag and enum values to the nicknames strings provided by the underlying C libraries. Representing flags this way in Perl is an interesting problem, which Glib solves by using some cool overloaded operators. The functions described here actually do the work of those overloaded operators. See the description of the flags operators in the "This Is Now That" section of Glib for more info. METHODS
scalar = $class->new ($a) o $a (scalar) Create a new flags object with given bits. This is for use from a subclass, it's not possible to create a "Glib::Flags" object as such. For example, my $f1 = Glib::ParamFlags->new ('readable'); my $f2 = Glib::ParamFlags->new (['readable','writable']); An object like this can then be used with the overloaded operators. scalar = $a->all ($b, $swap) o $b (scalar) o $swap (scalar) aref = $f->as_arrayref Return the bits of $f as a reference to an array of strings, like ['flagbit1','flagbit2']. This is the overload function for "@{}", ie. arrayizing $f. You can call it directly as a method too. Note that @$f gives the bits as a list, but as_arrayref gives an arrayref. If an arrayref is what you want then the method style somefunc()->as_arrayref can be more readable than [@{somefunc()}]. bool = $f->bool Return 1 if any bits are set in $f, or 0 if none are set. This is the overload for $f in boolean context (like "if", etc). You can call it as a method to get a true/false directly too. integer = $a->eq ($b, $swap) o $b (scalar) o $swap (integer) integer = $a->ge ($b, $swap) o $b (scalar) o $swap (integer) scalar = $a->intersect ($b, $swap) o $b (scalar) o $swap (scalar) integer = $a->ne ($b, $swap) o $b (scalar) o $swap (integer) scalar = $a->sub ($b, $swap) o $b (scalar) o $swap (scalar) scalar = $a->union ($b, $swap) o $b (scalar) o $swap (scalar) scalar = $a->xor ($b, $swap) o $b (scalar) o $swap (scalar) SEE ALSO
Glib 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.14.2 2012-05-24 Glib::Flags(3pm)
Man Page