summaryrefslogtreecommitdiff
path: root/src/process.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2016-12-05 20:59:11 +0200
committerEli Zaretskii <eliz@gnu.org>2016-12-05 20:59:11 +0200
commite4deba098e0281538a0e7b04d849989f17e5bcc7 (patch)
tree597ec86397a68d6a73f8ce948ac28abc19b335f6 /src/process.c
parentde4624c99ea5bbe38ad5aff7b6461cc5c740d0be (diff)
downloademacs-e4deba098e0281538a0e7b04d849989f17e5bcc7.tar.gz
Fix merged code in process.c and eval.c.
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/process.c b/src/process.c
index e538c86fcf5..7f2a071e67b 100644
--- a/src/process.c
+++ b/src/process.c
@@ -1321,7 +1321,8 @@ See `set-process-sentinel' for more info on sentinels. */)
DEFUN ("set-process-thread", Fset_process_thread, Sset_process_thread,
2, 2, 0,
- doc: /* FIXME */)
+ doc: /* Set the locking thread of PROCESS to be THREAD.
+If THREAD is nil, the process is unlocked. */)
(Lisp_Object process, Lisp_Object thread)
{
struct Lisp_Process *proc;
@@ -1348,7 +1349,8 @@ DEFUN ("set-process-thread", Fset_process_thread, Sset_process_thread,
DEFUN ("process-thread", Fprocess_thread, Sprocess_thread,
1, 1, 0,
- doc: /* FIXME */)
+ doc: /* Ret the locking thread of PROCESS.
+If PROCESS is unlocked, this function returns nil. */)
(Lisp_Object process)
{
CHECK_PROCESS (process);
@@ -4573,7 +4575,8 @@ is nil, from any process) before the timeout expired. */)
/* Can't wait for a process that is dedicated to a different
thread. */
if (!EQ (procp->thread, Qnil) && !EQ (procp->thread, Fcurrent_thread ()))
- error ("FIXME");
+ error ("Attempt to accept output from process %s locked to thread %s",
+ SDATA (procp->name), SDATA (XTHREAD (procp->thread)->name));
}
else
just_this_one = Qnil;
@@ -5727,7 +5730,7 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd,
if (0 <= p->infd && !EQ (p->filter, Qt)
&& !EQ (p->command, Qt))
- delete_read_fd (p->infd);
+ add_read_fd (p->infd);
}
}
} /* End for each file descriptor. */
@@ -7660,7 +7663,7 @@ add_keyboard_wait_descriptor (int desc)
{
#ifdef subprocesses /* Actually means "not MSDOS". */
eassert (desc >= 0 && desc < FD_SETSIZE);
- fd_callback_info[desc].flags |= FOR_READ | KEYBOARD_FD;
+ fd_callback_info[desc].flags |= (FOR_READ | KEYBOARD_FD);
if (desc > max_desc)
max_desc = desc;
#endif