1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 02:31:03 -08:00

Fix assertion violations when displaying thread-related error

* src/process.c (Faccept_process_output): Don't assume a thread's
name is always a string.
This commit is contained in:
Eli Zaretskii 2017-04-17 09:47:39 +03:00
parent 4712229552
commit edc63bf94f

View file

@ -4563,8 +4563,16 @@ is nil, from any process) before the timeout expired. */)
/* Can't wait for a process that is dedicated to a different
thread. */
if (!EQ (proc->thread, Qnil) && !EQ (proc->thread, Fcurrent_thread ()))
error ("Attempt to accept output from process %s locked to thread %s",
SDATA (proc->name), SDATA (XTHREAD (proc->thread)->name));
{
Lisp_Object proc_thread_name = XTHREAD (proc->thread)->name;
if (STRINGP (proc_thread_name))
error ("Attempt to accept output from process %s locked to thread %s",
SDATA (proc->name), SDATA (proc_thread_name));
else
error ("Attempt to accept output from process %s locked to thread %p",
SDATA (proc->name), XTHREAD (proc->thread));
}
}
else
just_this_one = Qnil;