[3097] in BarnOwl Developers
[barnowl/barnowl] 44976f: Make owl_select_post_task take a context argument
daemon@ATHENA.MIT.EDU (noreply@github.com)
Mon May 30 22:29:08 2011
Date: Mon, 30 May 2011 19:29:05 -0700
To: barnowl-dev@mit.edu
From: noreply@github.com
Branch: refs/heads/master
Home: https://github.com/barnowl/barnowl
Commit: 44976fe18ba06c48eaf310eff343ffa7d44379ad
https://github.com/barnowl/barnowl/commit/44976fe18ba06c48eaf310eff343ffa7d44379ad
Author: Adam Glasgall <adam@crossproduct.net>
Date: 2011-05-30 (Mon, 30 May 2011)
Changed paths:
M owl.c
M select.c
Log Message:
-----------
Make owl_select_post_task take a context argument
Make owl_select_post_task take a context argument to indicate /which/ running mainloop it should run the task on, since now there's more than one.
Commit: cc305b53e93deb26ad26d3eb1beaf34d53c0d6ac
https://github.com/barnowl/barnowl/commit/cc305b53e93deb26ad26d3eb1beaf34d53c0d6ac
Author: Adam Glasgall <adam@crossproduct.net>
Date: 2011-05-30 (Mon, 30 May 2011)
Changed paths:
M logging.c
M owl.c
Log Message:
-----------
Move log-writing onto a background thread.
Currently, Barnowl writes message logs on the same thread as the UI
and other I/O. This means that if writing log files is very slow
(e.g. if logpath or classlogpath point to somewhere in AFS and the
fileserver that volume relies on is very slow to respond), barnowl
freezes up until the write completes. This patch creates a background
logging thread as part of initialization and runs a main loop on that
thread. Logging is then accomplished by posting tasks that write to
log files to that thread, a la how other threads can post tasks to the
UI thread's main loop.
Post a quit task to the logging thread's mainloop instead of quitting directly
Calling g_main_quit() on the main thread to quit the logging thread could resultin log tasks still in its queue getting lost. Instead, after we've shut down
everything that could log messages, post a quit task to the log thread so that
it'll only get run after everything outstanding has been processed.
Compare: https://github.com/barnowl/barnowl/compare/259e60a...cc305b5