Subject: Re: bug#28630: 27.0.50; C-g while a non-main thread is sitting crashes Emacs

From: YAMAMOTO Mitsuharu <[email-masked]>
Date: Thu, 05 Oct 2017 12:27:28 +0900

>>>>> On Wed, 04 Oct 2017 12:23:19 +0300, Eli Zaretskii <[email-masked]> said:

>> > OOC, could you please see whether on X the sit-for call is
>> > interrupted or not?  That is, do you see the "there" message
>> > after typing C-g?
>> 
>> Not interrupted (I see "there") on GTK+3, GTK+2, Athena, no
>> toolkit, and (my internal version of) the Mac port.

> That's what I thought should happen, thanks for confirming.

Same for NS.  Interestingly, some variants of the original recipe
behave differently with respect to C-g depending on the toolkit.

Example 1:

(thread-join
 (make-thread
  (lambda ()
    (message "hello")
    (sit-for 2)
    (message "there"))))

Interrupted: GTK+, Athena, no toolkit, Mac
Not interrupted: NS

Example 2:

(thread-join
 (make-thread
  (lambda ()
    (message "hello")
    (sleep-for 2)
    (message "there"))))

Interrupted: GTK+
Not interrupted: Athena, no toolkit, Mac, NS

Probably it has something to do with xg_select.

			     YAMAMOTO Mitsuharu
			[email-masked]