Output from asynchronous subprocesses normally arrives only while Emacs is waiting for some sort of external event, such as elapsed time or terminal input. Occasionally it is useful in a Lisp program to explicitly permit output to arrive at a specific point, or even to wait until output arrives from a process.
This function allows Emacs to read pending output from processes. The output is inserted in the associated buffers or given to their filter functions. If process is non-
nilthen this function does not return until some output has been received from process.The arguments seconds and millisec let you specify timeout periods. The former specifies a period measured in seconds and the latter specifies one measured in milliseconds. The two time periods thus specified are added together, and
accept-process-outputreturns after that much time, whether or not there has been any subprocess output.The argument millisec is semi-obsolete nowadays because seconds can be a floating point number to specify waiting a fractional number of seconds. If seconds is 0, the function accepts whatever output is pending but does not wait.
If process is a process, and the argument just-this-one is non-
nil, only output from that process is handled, suspending output from other processes until some output has been received from that process or the timeout expires. If just-this-one is an integer, also inhibit running timers. This feature is generally not recommended, but may be necessary for specific applications, such as speech synthesis.The function
accept-process-outputreturns non-nilif it did get some output, ornilif the timeout expired before output arrived.