I was trying to use ‘call-process’ in a thread in order to not have to deal with process buffers and the like while still being able to run an external program in the background.

As it turns out, ‘call-process’ hangs all of Emacs while the external program is run.

To reproduce, simply type M-: (make-thread (lambda () (call-process "sleep" nil nil nil "2")))

This will hang Emacs for 2 seconds.

Regards,
Elias