make-process

$Revision: 5.0.2.5 $

Function

Package: MULTIPROCESSING

Arguments: (&key name reset-action run-reasons arrest-reasons priority quantum resume-hook suspend-hook initial-bindings message-interrupt-function stack-allocation run-immediately)

This function returns a new process object, but does nothing about making it runnable. name must be a string. Its default value is "Anonymous". The default value of quantum is 2 and of priority is 0. run-reasons and arrest-reasons are both lists of Lisp objects. They default to nil (that is, the empty list). The effect of these lists being empty or not is described in multiprocessing.htm. The process can run only if the arrest-reasons list is empty, and the run-reasons list is not empty. reset-action defaults to nil. If it is set to t, the process will restart if it is reset or ever completes; that is, it will once again apply its initial function to its initial arguments. Otherwise, the process will be killed when it completes.

Earlier versions of the Allegro CL documentation said that make-process accepted a property-list keyword argument. In fact it does not. However, property lists for processes are supported and mp:process-property-list accesses them. They can be modified in the usual property list way with getf and setf of getf and that function.

The initial-bindings, resume-hook, and suspend-hook arguments all default to nil and initialize the corresponding slot values of the process object. The meanings of these slots are explained in multiprocessing.htm.

The stack-allocation argument is only used in the :os-threads model of multiprocessing. It specifies the size to request from the OS for the thread associated with the new process. The default value is to copy the size used for the process in which the process-creating function (i.e. make-process or something that calls make-process) is running. A process's soft limit is set to a default value when the process starts. This value is 80% of the hard limit or 4 megabytes, whichever is less.

See multiprocessing.htm for general information on multiprocessing in Allegro CL.

The general documentation description is in introduction.htm. The index in index.htm.

Copyright (C) 1998-1999, Franz Inc., Berkeley, CA. All Rights Reserved.