Function | Package: system | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version

## stack-cushion

Arguments:

This function and set-stack-cushion allow inspection (this function) and modification (set-stack-cushion) of the current process's soft stack limit. The cushion value is either:

- number of nats between the current frame pointer and the soft stack limit (see The :nat and :unsigned-nat types in implementation.htm for a discussion of the nat type), or
- `nil` if there is no effective soft stack limit.

Typically, each process has a hard limit and a soft limit. Exceeding the hard limit causes Lisp to fail. Each operating system has a different way of setting the hard limit. Exceeding the soft limit signals an error (a signal 1000). Usually things are set up so the soft limit is hit before the hard limit. Exceeding the soft limit is a continuable error.

### Stack allocation on windows

- The initial Lisp process gets a hard limit of 16 megabytes and a soft limit of 4 megabytes. Functions that create new processes (such as make-process) accept a keyword argument stack-allocation to specify the size to request from the OS.

Copyright (c) 1998-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version