|
From: | Jan Djärv |
Subject: | bug#8869: Unjustified selection time-out |
Date: | Mon, 20 Jun 2011 17:24:33 +0200 |
User-agent: | Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; sv-SE; rv:1.9.2.18) Gecko/20110613 Thunderbird/3.1.11 |
Chong Yidong skrev 2011-06-20 16.57:
Jan Djärv<jan.h.d@swipnet.se> writes:The problem is not calling select with a ong timeout, the problem is not checking if there is queued events and handling them before entering select. Checking Emacs as I run it, select is usually enetered with a timeout betweeen 10 and 15 seconds, so the potential for this happening is great.But the selection request from the other X client can arrive at any time,
No, it can't. It must arrive after SAVE_TARGET and it is not read unless any X code (XNextEvent or gtk_events_pending()) is executed.
not necessarily before we enter the select.
If the front part of wait_reading_process_output executes very quickly, we'll enter the select before a response is ready, in which case Emacs will wait the entire 20 seconds if no other input is available.
No, in that case the X request has not been read and it still in the socket.Select will then detect that and return. It is not before XTread_socket is called the event is actually read.
Jan D.
[Prev in Thread] | Current Thread | [Next in Thread] |