[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SEGV in x_catch_errors_unwind (x86_64-unknown-linux-gnu)
From: |
Chong Yidong |
Subject: |
Re: SEGV in x_catch_errors_unwind (x86_64-unknown-linux-gnu) |
Date: |
Mon, 27 Feb 2006 19:51:20 -0500 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
Richard Stallman <address@hidden> writes:
> I just checked in some changes to make the x error handler avoid using
> record_unwind_protect. I am unable to make Emacs crash now -- can you
> confirm this?
>
> But if it does not use record_unwind_protect, how does it ensure
> that the x error handler gets turned off if an error happens?
> Have you checked every use of x_catch_errors to make sure that no
> Lisp errors can occur before the matching call to x_uncatch_errors?
I missed two places in xselect.c where code protected in
x_catch_errors can signal Lisp errors (x_reply_selection_request and
x_get_foreign_selection), in corner cases. Since these two functions
cannot be called from a signal handler, I'll put their
x_uncatch_errors call into a record_unwind_protect.
I have checked several more times, and there is no other such
occurence---most uses of x_catch_errors just wrap one or two Xlib
calls.
- Re: SEGV in x_catch_errors_unwind (x86_64-unknown-linux-gnu),
Chong Yidong <=