/usr/lib/perl5/Glib/Signal.pod is in libglib-perl 3:1.304-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | =head1 NAME
Glib::Signal - Object customization and general purpose notification
=cut
=for position DESCRIPTION
=head1 DESCRIPTION
This page describes some functions related to signals in Glib. Since most
things you can do with signals are tied to L<Glib::Object> instances, the
majority of the signal functions are documented there.
=head2 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 L<Glib::Idle> callback so that the signal handler can return
directly.
=cut
=for object Glib::Signal Object customization and general purpose notification
=cut
=head1 METHODS
=head2 integer = Glib-E<gt>B<install_exception_handler> ($func, $data=undef)
=over
=item * $func (subroutine)
=item * $data (scalar)
=back
Install a subroutine to be executed when a signal emission traps an exception
(a croak or die). I<$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 C<remove_exception_handler>.
See C<gperl_install_exception_handler()> in L<Glib::xsapi>.
=head2 Glib-E<gt>B<remove_exception_handler> ($tag)
=over
=item * $tag (integer)
=back
Remove the exception handler identified by I<$tag>, as returned by
C<install_exception_handler>. If I<$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 C<gperl_remove_exception_handler()> in L<Glib::xsapi>.
=cut
=head1 ENUMS AND FLAGS
=head2 flags Glib::SignalFlags
=over
=item * 'run-first' / 'G_SIGNAL_RUN_FIRST'
=item * 'run-last' / 'G_SIGNAL_RUN_LAST'
=item * 'run-cleanup' / 'G_SIGNAL_RUN_CLEANUP'
=item * 'no-recurse' / 'G_SIGNAL_NO_RECURSE'
=item * 'detailed' / 'G_SIGNAL_DETAILED'
=item * 'action' / 'G_SIGNAL_ACTION'
=item * 'no-hooks' / 'G_SIGNAL_NO_HOOKS'
=back
=cut
=head1 SEE ALSO
L<Glib>, L<Glib::Object>
=cut
=head1 COPYRIGHT
Copyright (C) 2003-2011 by the gtk2-perl team.
This software is licensed under the LGPL. See L<Glib> for a full notice.
=cut
|