… | |
… | |
13 | XSLoader::load "Gtk2::CV", $VERSION; |
13 | XSLoader::load "Gtk2::CV", $VERSION; |
14 | } |
14 | } |
15 | |
15 | |
16 | my $aio_source; |
16 | my $aio_source; |
17 | |
17 | |
18 | # we use a low priority to give GUI interactions as high a priority |
18 | # we use a low priority watcher to give GUI interactions as high a priority |
19 | # as possible. |
19 | # as possible. |
20 | sub enable_aio { |
20 | sub enable_aio { |
21 | $aio_source ||= |
21 | $aio_source ||= |
22 | add_watch Glib::IO IO::AIO::poll_fileno, |
22 | add_watch Glib::IO IO::AIO::poll_fileno, |
23 | in => sub { IO::AIO::poll_cb; 1 }, |
23 | in => sub { |
24 | undef, |
24 | eval { IO::AIO::poll_cb }; |
|
|
25 | warn $@ if $q;#d# |
|
|
26 | 1 |
|
|
27 | }, |
|
|
28 | undef, |
25 | &Glib::G_PRIORITY_LOW; |
29 | &Glib::G_PRIORITY_LOW; |
26 | } |
30 | } |
27 | |
31 | |
28 | sub disable_aio { |
32 | sub disable_aio { |
29 | remove Glib::Source $aio_source if $aio_source; |
33 | remove Glib::Source $aio_source if $aio_source; |
30 | undef $aio_source; |
34 | undef $aio_source; |