Nim/lib/std
Tail Wag Games cfdac6666f
Freeing critical sections via atexit in system/alloc and system/io (#19062)
* adding new system module sysexitprocs and including system exit procedures when registering exit handlers defined in userland

* fixing failing tests and adding initialization guard to handle cases where the module's global init logic isn't invoked first as is the case with some gc implementaions

* js backend shouldn't try to invoke actual system exit procs

* fixing formatting in sysexitprocs.nim

* 256 was too much - my max number of plugins in my engine is 64 and I require two hooks per runtime it looks like with tls emulation turned off, so for my purposes 128 should be sufficient

* so atExit should be enough here, can get rid of all the extra cruft I had added on top since I didn't realize atExit already provided a stack

* done being cute - since newruntime prevents correct cpp codegen for object variants apparently and breaks tests if I try to use std/exitprocs, ddSysExitProc is just going into both modules. Since system doesn't include system/io, polluting system with it doesn't make sense either... at least it is only importc'd when it is required in either module and we don't have to have any weird when defined(nimOwnedEnabled) with a comment explaining why
2021-10-29 13:42:44 +02:00
..
private fix a potential bug (#18900) 2021-10-14 09:23:01 +02:00
compilesettings.nim correct licence header (#18935) 2021-10-01 13:57:06 +02:00
decls.nim std/byaddr => std/decls (#13847) 2020-04-03 09:03:13 +02:00
editdistance.nim use single backtick (#17141) 2021-02-21 19:53:28 -08:00
effecttraits.nim fixes #18371 (#18617) 2021-07-30 12:05:14 +02:00
enumerate.nim move tests to testament (#16101) 2020-11-24 19:06:41 +01:00
enumutils.nim Allow nnkAccQuoted in genEnumCaseStmt (#18606) 2021-07-29 07:47:34 +02:00
exitprocs.nim Freeing critical sections via atexit in system/alloc and system/io (#19062) 2021-10-29 13:42:44 +02:00
genasts.nim new genAst as replacement for quote do (#17426) 2021-04-02 13:11:03 +02:00
importutils.nim make privateAccess work with generic types and generic instantiations; fix a SIGSEGV (#18260) 2021-06-19 11:24:46 -07:00
isolation.nim Rename = to =copy in stdlib (#17781) 2021-04-19 13:16:10 +02:00
jsbigints.nim add number literal jsbigints.big (#17707) 2021-04-13 09:33:28 +02:00
jsfetch.nim Implement RFC-391 (#18585) 2021-08-22 12:32:55 -07:00
jsformdata.nim Use .. warning:: (#17320) 2021-03-10 10:39:23 -08:00
jsheaders.nim Use .. warning:: (#17320) 2021-03-10 10:39:23 -08:00
jsonutils.nim rename nimLegacyJsonutilsHoleyEnum [backport] (#18938) 2021-10-01 20:26:29 +02:00
logic.nim use single backtick (#17141) 2021-02-21 19:53:28 -08:00
monotimes.nim clean unused imports on runnableExamples (#18551) 2021-07-21 13:46:17 +02:00
packedsets.nim various small documentation improvements (#18602) 2021-07-28 14:31:13 +02:00
setutils.nim correct licence header (#18935) 2021-10-01 13:57:06 +02:00
sha1.nim correct licence header (#18935) 2021-10-01 13:57:06 +02:00
socketstreams.nim Implements streams for sockets (#15729) 2021-01-07 16:09:57 +01:00
stackframes.nim init checks and 'out' parameters (#14521) 2020-06-23 10:53:57 +02:00
strbasics.nim correct licence header (#18935) 2021-10-01 13:57:06 +02:00
sums.nim use single backtick (#17141) 2021-02-21 19:53:28 -08:00
sysrand.nim Fix #19052; [backport:1.6.0] (#19053) 2021-10-26 20:32:52 +02:00
tasks.nim [std/tasks] more gcsafe stuffs [backport] (#18926) 2021-09-30 07:46:30 +02:00
tempfiles.nim [std/tempfiles] docs improvement (#18936) 2021-10-01 20:14:10 +02:00
time_t.nim use single backtick (#17141) 2021-02-21 19:53:28 -08:00
varints.nim Make unused code into actual test, replace echo with doassert (#13952) 2020-04-11 22:16:26 +02:00
vmutils.nim enable VM tracing in user code via {.define(nimVmTrace).} (#18244) 2021-06-24 11:55:31 +02:00
with.nim Small doc improvements for std/with (#17556) 2021-03-29 12:44:31 +02:00
wordwrap.nim move rest of tests to testament (#16140) 2020-11-27 20:47:49 +01:00
wrapnils.nim major improvements to std/wrapnils: optimal codegen, case objects, lvalue semantics (#18435) 2021-07-07 06:04:36 +02:00