[3106] in BarnOwl Developers
[barnowl/barnowl] 9179fd: Use AnyEvent's Glib backend
daemon@ATHENA.MIT.EDU (noreply@github.com)
Wed Jun 22 00:39:52 2011
Date: Tue, 21 Jun 2011 21:39:49 -0700
To: barnowl-dev@mit.edu
From: noreply@github.com
Branch: refs/heads/master
Home: https://github.com/barnowl/barnowl
Commit: 9179fd71fd47ed199f7576349a03ba4de77a8683
https://github.com/barnowl/barnowl/commit/9179fd71fd47ed199f7576349a03ba4de77a8683
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M README
M perl/lib/BarnOwl.pm
R perl/lib/BarnOwl/AnyEvent.pm
Log Message:
-----------
Use AnyEvent's Glib backend
Commit: 4f746f85cc260a0a14af03459d71b916d0d12785
https://github.com/barnowl/barnowl/commit/4f746f85cc260a0a14af03459d71b916d0d12785
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M Makefile.am
M configure.ac
R glib_compat.c
M owl.c
Log Message:
-----------
Bump required glib version to 2.16
Debian Lenny's version is 2.16.6-3 and Ubuntu Hardy's is
2.16.6-0ubuntu1.2. Also remove the version check in main; it never did
anything useful as GLIB_CHECK_VERSION is evaluated at compile-time.
Commit: 6b0b4f45d70ff57070fe617e46583f01ca1d8f78
https://github.com/barnowl/barnowl/commit/6b0b4f45d70ff57070fe617e46583f01ca1d8f78
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M aim.c
M owl.h
Log Message:
-----------
Convert AIM timers to glib timers
We do lose the timer tracking feature, but I think that's fine. Glib
does have some main loop debug spew to run, though admittedly it may
require a custom-built glib.
Glib 2.14 allows us to use g_timeout_add_seconds which synchronizes
wakeups at the seconds granularity to minimize CPU wakeups.
Commit: 72146c707fab7ab99e38b8bd3019068a62483784
https://github.com/barnowl/barnowl/commit/72146c707fab7ab99e38b8bd3019068a62483784
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M variable.c
M zephyr.c
Log Message:
-----------
Convert pseudologins timer to glib timers
Commit: 58f4fb26e327a513e881072e03944fe69a799b97
https://github.com/barnowl/barnowl/commit/58f4fb26e327a513e881072e03944fe69a799b97
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M commands.c
M functions.c
M perl/lib/BarnOwl/Complete/Client.pm
Log Message:
-----------
Drop show timers feature
It was useful to access programmatically and probably not hugely useful.
We can restore something like it later if it's really needed.
Commit: 074bdaa6d33d340b3da12b08994f54e70986e9d5
https://github.com/barnowl/barnowl/commit/074bdaa6d33d340b3da12b08994f54e70986e9d5
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M global.c
M owl.h
M perl/lib/BarnOwl/Timer.pm
M perlconfig.c
M perlglue.xs
M select.c
Log Message:
-----------
Replace BarnOwl::Timer with a perl wrapper over AnyEvent
This also allows us to kill owl_timer altogether.
Commit: bcde7926f64b37bec0e1c92962e8110187f58242
https://github.com/barnowl/barnowl/commit/bcde7926f64b37bec0e1c92962e8110187f58242
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M perl/lib/BarnOwl.pm
M perlconfig.c
M perlglue.xs
M select.c
Log Message:
-----------
Reimplement BarnOwl::add_io_dispatch with AnyEvent
We can emulate the interesting semantics with perl. The one difference
is that perl code can now register an IO dispatch on file descriptors C
code was interested in. This isn't a big deal was Glib can handle
multiple watches on the same FD. Granted, more than one reader on an FD
would cause trouble, but there was nothing stopping perl code from
reading from an FD we cared about anyway.
AnyEvent also does not support select's exceptfd, so this is a slight
behavior change, but probably an uninteresting one.
Commit: bbb7876cf12ac8f20b2ae29e09e8051ee0707d5a
https://github.com/barnowl/barnowl/commit/bbb7876cf12ac8f20b2ae29e09e8051ee0707d5a
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M owl.c
Log Message:
-----------
Replace the stdin reader with a GIOChannel watch
We ignore the channel itself as ncurses expects to do its own thing.
Commit: 2244836f51939a939edaac90302eca3379f5c362
https://github.com/barnowl/barnowl/commit/2244836f51939a939edaac90302eca3379f5c362
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M owl.c
Log Message:
-----------
Use g_io_add_watch in the stderr redirect
We may actually be able to put GIOChannel to good use here with
g_io_channel_read_line.
Commit: a6a9ddb190070cf1469e5dad392b5389b027df56
https://github.com/barnowl/barnowl/commit/a6a9ddb190070cf1469e5dad392b5389b027df56
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M owl.h
M popexec.c
Log Message:
-----------
Replace popexec's io_dispatch with a glib io watch
Again, this code may be simplified with a GIOChannel.
Commit: 2d04312c185f2db6283ca297b126f0134344507d
https://github.com/barnowl/barnowl/commit/2d04312c185f2db6283ca297b126f0134344507d
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M zephyr.c
Log Message:
-----------
Use g_io_add_watch in zephyr initialization
Which removes the final use of owl_io_dispatch.
Commit: aa69c1effa8d25277213dc0c3f6fcc4c9e3ed461
https://github.com/barnowl/barnowl/commit/aa69c1effa8d25277213dc0c3f6fcc4c9e3ed461
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M global.c
M owl.h
M select.c
Log Message:
-----------
And finally, remove owl_io_dispatch
All uses have been replaced with a GIOChannel watch.
Commit: e146cd7daa6e098d58e1d6cbbf8c74225bcd2da8
https://github.com/barnowl/barnowl/commit/e146cd7daa6e098d58e1d6cbbf8c74225bcd2da8
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M popexec.c
M zephyr.c
Log Message:
-----------
Remove all uses of G_IO_PRI
Any use of G_IO_PRI (and correspondingly OWL_IO_EXCEPT) is likely a bug
as it's not really used for anything useful. The main use case is TCP
out-of-band data which really isn't used by anyone.
Reported-by: Anders Kaseorg <andersk@mit.edu>
Commit: 84a071f695d32531171f37a5ae51c7e8a719122b
https://github.com/barnowl/barnowl/commit/84a071f695d32531171f37a5ae51c7e8a719122b
Author: David Benjamin <davidben@mit.edu>
Date: 2011-06-21 (Tue, 21 Jun 2011)
Changed paths:
M select.c
Log Message:
-----------
Remove global main_context variable
It's really not necessary. We can pass NULL to g_main_loop_new to use
the default context, and we don't reference the variable anywhere else.
Compare: https://github.com/barnowl/barnowl/compare/937a00e...84a071f