Does it not free it somewhere eventually? How is that handled.
> lang/sbcl will need a small patch:
>
> $OpenBSD$
>
> Index: src/runtime/thread.c
> --- src/runtime/thread.c.orig
> +++ src/runtime/thread.c
> @@ -636,9 +636,16 @@ create_thread_struct(lispobj initial_function) {
> * on the alignment passed from os_validate, since that might
> * assume the current (e.g. 4k) pagesize, while we calculate with
> * the biggest (e.g. 64k) pagesize allowed by the ABI. */
> +#ifdef MAP_STACK
> + spaces = mmap(0, THREAD_STRUCT_SIZE, OS_VM_PROT_ALL,
> + MAP_PRIVATE | MAP_ANON | MAP_STACK, -1, 0);
> + if(spaces == MAP_FAILED)
> + return NULL;
> +#else
> spaces=os_validate(0, THREAD_STRUCT_SIZE);
> if(!spaces)
> return NULL;
> +#endif
> /* Aligning up is safe as THREAD_STRUCT_SIZE has
> * THREAD_ALIGNMENT_BYTES padding. */
> aligned_spaces = (void *)((((uword_t)(char *)spaces)
>