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) >