On Sat, Dec 24, 2016 at 12:06:45PM +0100, Charles A. Roelli wrote: > Running Emacs -Q on the latest commit (e36a3882), > > M-: (make-thread (lambda () "string")) > > appears to hang Emacs immediately. I’ve been working on this on and off for a while now, and I just can’t fix it. I’ve attached two patches that together are the best I’ve managed to achieve, but unfortunately it randomly freezes up with 100% CPU usage. I’ve not yet managed to work out what it’s doing when it goes into the 100% CPU loop. I can only assume I’ve missed some crucial case in ns_select or something. The first patch stops the NS port from using SIGIO, as it seems to be the source of a number of problems. The second removes the NS event loop in ns_select as it requires block_input/unblock_input wrapped around it, but that’s what’s causing the crash in make-thread. Instead it just looks for whether there is a new NS event as I don’t think that requires blocking input. -- Alan Third