[1442] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[nelhage/barnowl] 0cb6c2: Fix a race that could cause us to miss a SIGINT

daemon@ATHENA.MIT.EDU (noreply@github.com)
Thu Oct 29 18:16:41 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
X-Original-To: nelhage@lunatique.mit.edu
Date: Mon, 4 May 2009 22:30:19 -0700
To: barnowl-dev@mit.edu
From: noreply@github.com

Branch: refs/heads/enable-sigint
Home:   http://github.com/nelhage/barnowl

Commit: 0cb6c26ae0ad3ae91e1deb1e4e95583e37f071cb
    http://github.com/nelhage/barnowl/commit/0cb6c26ae0ad3ae91e1deb1e4e95583e37f071cb
Author: Nelson Elhage <nelhage@mit.edu>
Date:   2009-05-04 (Mon, 04 May 2009)

Changed paths:
  M functions.c
  M global.c
  M select.c

Log Message:
-----------
Fix a race that could cause us to miss a SIGINT

When I refactored the previous commits to unmask SIGINT in
owl_global_is_interrupted, I accidentally opened a window for us to miss
a SIGINT for a cycle of the event loop if it arrived in owl_select()
between a call to that functuon and pselect().

Undo that refactoring to make is_interrupted() just poll the flag, add
owl_function_(un)mask_sigint() for convenience, and use them in the
relevant locations.



home help back first fref pref prev next nref lref last post