Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Interrupting globs (Re: Something rotten in tar completion)
On Dec 7, 5:07pm, Peter Stephenson wrote:
}
} Other issues:
}
} Mikael needs to ^C three times to get back to the command line ---
} apparently related to the code from Sven I took at its word.
(Sven is Oberon? If that's true, I'd entirely forgotten it.)
} I agree we might want to look at some always blocks. BTW, I didn't
} actually think through the handling of "always" blocks for this patch,
} so it might want looking at.
In particular with respect to always-blocks, there should be some way
for TRY_BLOCK_ERROR to clear interrupts as well as (maybe even instead
of? TRY_BLOCK_INTERRUPT?) internal errors. A trap that returns zero
only clears interrupt if there isn't another trap in a deeper scope.
Maybe TRY_BLOCK_ERROR does still clear both in the patch, I didn't
parse it that carefully.
} It's also just occurred to me I may have introduced some rare but
} entirely possible read-modify-write races because we set the ERRFLAG_INT
} bit in interrupts and set the other and clear both bits separately in
} the main shell. I guess it would be better to queue interrupts whenever
} we add or remove a single bit of errflag
I don't think single bits are a problem because it's always done with
bitwise-or. If anything, we'd need to queue any time we clear the
interrupt bit, so that a signal that comes in while we're clearing it
gets treated as if arrived after clearing. In practice I don't think
it makes that much difference.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author