[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#407: gpm server stop making emacs abort()
From: |
Stefan Monnier |
Subject: |
bug#407: gpm server stop making emacs abort() |
Date: |
Fri, 13 Jun 2008 18:18:32 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
> If running with
> (gpm-mouse-mode 1)
> and if you stop the gpm server, then emacs dies with
> Fatal error (6)Aborted
> Output from "bt full" below; xbacktrace printed nothing at all.
> The backtrace shows it at the abort() under the EBADF case in
> wait_reading_process_output(). I think when Gpm_GetEvent gets an eof
> from the server it closes gpm_fd; maybe that's the bad fd in question.
I can't test it right now. Does the patch below help?
Stefan
--- keyboard.c.~1.959.~ 2008-06-03 02:14:30.000000000 -0400
+++ keyboard.c 2008-06-13 18:17:35.000000000 -0400
@@ -7189,6 +7189,8 @@
while (gpm = Gpm_GetEvent (&event), gpm == 1) {
nread += handle_one_term_event (tty, &event, &hold_quit);
}
+ if (gpm < 0)
+ delete_gpm_wait_descriptor (gpm_fd);
if (hold_quit.kind != NO_EVENT)
kbd_buffer_store_event (&hold_quit);
if (nread)