Previous: , Up: Output from Processes   [Contents][Index]


57.8.3 Accepting Output from Processes

Output from asynchronous subprocesses normally arrives only while SXEmacs 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.

Function: accept-process-output &optional process seconds millisec

This function allows SXEmacs to read pending output from processes. The output is inserted in the associated buffers or given to their filter functions. If process is non-nil then 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-output returns after that much time whether or not there has been any subprocess output. Note that seconds is allowed to be a floating-point number; thus, there is no need to ever use millisec. (It is retained for compatibility purposes.)

The function accept-process-output returns non-nil if it did get some output, or nil if the timeout expired before output arrived.