emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Pretest next week


From: Chetan Pandya
Subject: Re: Pretest next week
Date: Wed, 28 Jan 2009 19:39:55 -0800 (PST)

From: Stefan Monnier <address@hidden>


> Yes, adding

>     else if (pending_atimers)                \
>       do_pending_atimers();                \

> at the end of QUIT allows poll_timer() to fire under SYNC_INPUT and Ctrl-g
> to be detected, with no apparent other ill effects (in very  limited
> testing).

Good.

>> If so, we should probably create a new
>> var `pending_signals', which should always reflect
>> "pending_timers || interrupt_input_pending"

> I'm not sure if the extra 0-comparison would significantly add to overhead
> but I guess code size could take a hit.

It's easy for the CPU to predict those jumps, but I still think the
current QUIT is already pretty costly, so I'd rather not make it worse.

> Though maybe the  part of QUIT above (when there is a quit_flag) could
> also be reduced to a function call to slim things down?

Yes, that would be good as well.


        Stefan

----------------
I am not sure code size is really an issue. Emacs executable is already huge.
On the other hand, merging flags set by different signal handlers is a problem.
It is quite possible for a signal handler to fire when another signal handler 
is 
running, unless other signals have been blocked. This can interfere with 
setting of those flags.

It is perhaps safer to leave the flags separate. Other option is to block all 
signals that can interfere, possibly using sigaction() instead of signal(), 
but I am not sure of availability on all supported platforms.

Chetan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]