Timeline


and

May 23, 2011:

10:24 PM Changeset [33b6431b]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Clarify owl_io_dispatch ownership A created owl_io_dispatch is owned by whoever created. For instances where owl_select needs to remove one of them, we instead invalidate them. In the case of perl IO dispatches, they are owned by the nebulous blob that implicitly maps fd to IO dispatch. This is completely insane, but should avoid leaving people with invalid owl_io_dispatch pointers. Use this same mechanism to restore owl_select_prune_bad_fds logic. We really need to kill this and owl_timer in favor of glib's things.
9:09 PM Changeset [f97c1a6]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Merge branch 'g_main_loop' The logic in owl_select_prune_bad_fds still needs to be reimplemented. Conflicts: configure.ac owl.c select.c
8:57 PM Changeset [1d21d9f]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Use sigwaitinfo instead of sigwait Eh, may as well give the signal handlers a little bit more rope.
8:57 PM Changeset [ba12b44]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Add owl_select_post_task helper function Honestly, the only thing you'd ever want to do to a message loop from another thread is post a one-off task to it. Why Glib makes this so difficult is beyond me.
8:57 PM Changeset [117b2ba]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Move owl_process_input_char to owl.c It would be nice to move some functions out of there too, but it really makes no sense in select.c.
8:57 PM Changeset [dc1edbd]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Add a GSource for AIM events The AIM file descriptor hack is somewhat less of a hack now. Remove code related to the old AIM implementation now that it's been superceded.
8:57 PM Changeset [08e9842]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Cleanly destroy the signal thread on shutdown This isn't strictly necessary here, but we should probably be in the habit of safely cleaning up our helper threads. Switch the implementation from GThread to pthreads directly. The cleanest way to kill a signaling thread is to send it SIGTERM with pthread_kill, but GThread doesn't expose that and gives no way to get at the pthread_t.
8:57 PM Changeset [6bd485e]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Reset signal dispositions and mask, in case our parent was lame Also check return values more carefully.
8:57 PM Changeset [47128d9]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Allow interrupts to be taken at any point This way we can catch SIGINT in the middle of a search if we care. (Though ideally we wouldn't block the event loop when searching like this.)
8:57 PM Changeset [1491439]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Don't deliver SIGALRM through the signal thread We don't do anything with it, and code that uses alarm(), of which we have none, wouldn't expect it to be set to something useful anyway.
8:57 PM Changeset [e2cc848]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Just ignore SIGPIPE altogether There's not much point in switching back and forth from ignoring it and mostly ignoring it. Also, we don't handle SIGCHLD so remove the code for it. (We actually also disable it in the Jabber module because XML::Stream sets $SIG{PIPE}. Meh.)
8:57 PM Changeset [81db142]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Make owl_signal_init take a signal-thread callback Instead of pushing the work directly the main thread. This will allow us to react to SIGINT earlier.
8:57 PM Changeset [257b9c4]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Punt pre-select actions The four users are now directly handled with GSources.
8:57 PM Changeset [3535a6e]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
First go at sigwait-based signal handling Instead of relying on pselect and signal masking to listen for signals, which glib doesn't support, we spawn a dedicated signal thread that loops in sigwait. These signals are posted back to the main message loop which may handle them at will. This avoids the need for complex reentrant code and sig_atomic_t. This removes the final pre-select action. SIGINT doesn't quite work right yet because we can no longer take it in the middle of an event loop iteration.
8:57 PM Changeset [959cb85]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Add a zephyr GSource This may actually have some use as a GSource instead of g_idle_add since we queue messages up and only process so many at a time. The use of ZQLength isn't strictly necessary, but we may as well be fancy and wait for the poll() to tell us if there's any point in reading before doing so. This is the third pre-select action.
8:57 PM Changeset [6b4033f]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Also make owl_process_messages a GSource This is the second pre-select action.
8:57 PM Changeset [4cc49bc]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Make the owl_window redraw hook a GSource (Should this be a g_idle_add instead?) This is the first pre-select action to die.
8:57 PM Changeset [2c79eae]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Start of GMainContext code Add GSources to feed owl_timer and owl_io_dispatch events into the main loop. Also add a hack so pre-select actions run at all. Glib's main loop has a hard priority system, so it prefers that prepare/check hooks return if the event would actually do anything. We probably want to replace every pre-select action with a dedicated GSource (or maybe a bunch of g_idle_add calls). Signals are also racy right now; glib uses select/poll instead of pselect/ppoll, so you can't actually listen for signals on the same thread. (In fact, the single-threaded version of g_child_watch_add doesn't actually work.) That's okay as what we were doing doesn't work when you add a second thread and thread safety is sort of the point of this work. The AIM hack need also be restored. Keep owl_select around for now as reference.
8:57 PM Changeset [1255365]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Link to gthread-2.0 so we can use glib's threading code
8:57 PM Changeset [ebb8498]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Mark some functions static They were never called outside select.c
8:20 PM Changeset [57bc141]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Punt _owl_select_timer_eq It hasn't been used for a long time.
8:20 PM Changeset [feeb835]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Remove OwlGlobalNotifier typedef Ugh. This is what I get for being sloppy with my experiments.

May 20, 2011:

4:50 PM Changeset [1081d0f] by Jason Gross <jgross@mit.edu>
Remove the length limit on field values in :info
3:59 PM Changeset [4c7c21f]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
owl_dict_create also never fails And like everywhere else, we weren't checking the return values most of the time anyway.
3:59 PM Changeset [351c535]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
owl_dict_get_keys never fails No sense in returning an error code.
3:59 PM Changeset [fda61d3]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
g_strdup and g_new0 never fail Remove pointless failure checks cluttering the code.
3:59 PM Changeset [3b8a563]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Remove NULL checks before calling g_free g_free handles the NULL check for us.

May 18, 2011:

4:28 PM Changeset [1881f36] by Jason Gross <jgross@mit.edu>
owl_function_addstartup checks for file before calling owl_util_file_deleteline This fixes trac #175: '"startup" command produces error when run for the first time'. The startup command deletes duplicate lines, and thus errored when no file existed. A check has been added to prevent this.
4:10 PM Changeset [c6c51d2] by GitHub Merge Button <merge-button@github.com>
Merge 92fc39701adde0a4eb22ba7dad30e5d136fcc77c into 7865479440dd042766ecbbc1119b45e5eb7cd6a6
3:48 PM Changeset [a844239] by GitHub Merge Button <merge-button@github.com>
Merge 7865479440dd042766ecbbc1119b45e5eb7cd6a6 into 64c829aed5e966415464e38f393083d736e281e8
3:47 PM Changeset [7865479]release-1.10release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
Replace owl_text_tr with g_strdelimit Signed-off-by: Anders Kaseorg <andersk@mit.edu>

May 17, 2011:

12:59 PM Changeset [64c829a]release-1.10release-1.8release-1.9 by Alejandro R. Sedeño <asedeno@mit.edu>
Encode glib version requirements in pkg-config check Reported-by: Evan Broder <broder@mit.edu> Signed-off-by: Alejandro R. Sedeño <asedeno@mit.edu>

May 13, 2011:

1:04 PM Changeset [ede073c]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Allow overriding OWL_VERSION_STRING on the command-line. The Debian packaging does this, and we should be polite and not generate a warning on every file when they do.

May 12, 2011:

11:40 PM Ticket #175 ("startup" command produces error when run for the first time) created by kchen@mit.edu
When ~/.owl/startup doesn't exist, barnowl produces an undesired error …
4:39 PM Changeset [92fc397] by David Benjamin <davidben@mit.edu>
owl_dict_create also never fails And like everywhere else, we weren't checking the return values most of the time anyway.
4:39 PM Changeset [c72f884] by David Benjamin <davidben@mit.edu>
owl_dict_get_keys never fails No sense in returning an error code.
4:39 PM Changeset [7fd0bf7] by David Benjamin <davidben@mit.edu>
g_strdup and g_new0 never fail Remove pointless failure checks cluttering the code.
4:39 PM Changeset [55b2de8] by David Benjamin <davidben@mit.edu>
Remove NULL checks before calling g_free g_free handles the NULL check for us.

May 11, 2011:

9:12 PM Changeset [13ee8f2]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Replace Net::IRC mentions with AnyEvent::IRC
6:03 PM Changeset [1753ea0]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Merge remote-tracking branch 'nelhage/anyevent-irc'
5:39 PM Ticket #174 (Narrowing to instance names with quotes doesn't quite work) closed by andersk@mit.edu
fixed: I already fixed that in commit 9518a859987b60867c3566157ad0a24358cd28fb.
5:24 PM Ticket #174 (Narrowing to instance names with quotes doesn't quite work) created by adehnert@mit.edu
If you write to instance "test" and 'test', and then attempt to narrow …

May 3, 2011:

9:01 PM Ticket #173 (Barnowl does not visually distinguish between messages to -c foo and ...) created by glasgall@mit.edu
If I'm subscribed to -c foo on my local realm and to -c foo …
5:23 PM Changeset [7655e08] by GitHub Merge Button <merge-button@github.com>
Merge f578d1880dfdaae710755e0db5c3101e89cb0440 into 4fd211f3a533efcedaf4d0dc7c01e02087ad2e39

May 1, 2011:

5:30 PM Changeset [3fa0181] by GitHub Merge Button <merge-button@github.com>
Merge 7b4f3bea704ed82f2c36ba19fcf354d7442a5bb7 into 4fd211f3a533efcedaf4d0dc7c01e02087ad2e39
5:29 PM Changeset [7b4f3be]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Punt owl_global_hascolors There's not much point as we're hardly abstracting ncurses away. Either call has_colors directly or just don't bother and let another layer take care of it.
5:29 PM Changeset [9efa5bd]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Clamp the number of color pairs to 256 without ext-color Debian doesn't build their ncurses with ext-color support, so it only supports 256 colorpairs. However, ncurses still reports the full 32768 value, and color pairs end up trampling over each other. When 256 is exceeded, the existing colorpair reset logic will now kick in and fix things. Reword a comment accordingly. While I'm here, get rid of the colorpairs member in owl_global. ncurses' works just fine. Reported-by: Mats Ahlgren <mats_a@mit.edu>

Apr 29, 2011:

1:31 PM Ticket #172 (These tickets should go somewhere) created by andersk@mit.edu
Please install TracZephyr, and configure `notification.smtp_always_cc …
1:26 PM Ticket #171 (Jabber chat state notifications are displayed as empty messages) created by andersk@mit.edu
Some clients automatically send …
12:13 PM Ticket #170 (zwrite should fallback to unauth if tickets have expired) created by jdreed@mit.edu
When I send a zephyr and my tickets have expired, I should have the …
Note: See TracTimeline for information about the timeline view.