summary refs log tree commit diff stats
path: root/lib/system/threads.nim
Commit message (Collapse)AuthorAgeFilesLines
* Properly register threads with the Boehm GC.Reimer Behrends2015-09-081-15/+46
| | | | | | | | | | | | | | | | In order to be able to scan thread stacks, the Boehm GC needs to know about newly created threads. We establish the end of the stack by using GC_call_with_stack_base (this works properly also with the dual-stack Itanium architecture) and then GC_register_my_thread() to register a thrad and GC_unregister_my_thread() to unregister it again. This patch also includes a modification for the refc and markandsweep collectors to set the stack bottom for thread stacks correctly even if an optimizer aggressively inlines and optimizes procedures (this is already being done for the stack of the main thread). Finally, we use the {.noconv.} pragma for the Boehm GC, as the Boehm API uses no specific calling convention.
* make --gc:none work with --threads:onAraq2015-08-261-1/+1
|
* implemented system.pinToCpuAraq2015-07-011-10/+40
|
* Fix #2672. Do not define globalsSlot for native TLSSergey Avseyev2015-06-261-16/+11
| | | | | | | | | | | | | | | | Motivation ---------- globalsSlot is always defined so threading code works incorrectly when native TLS supported. Modification ------------ Defined globalsSlot only in TLS emulation mode. Remove myThreadId, which based on broken behavior. It might be reimplemented later Result ------ No segfaults.
* Trim trailling spacesSergey Avseyev2015-06-261-36/+35
|
* Merge branch 'devel' into gogcStefan Talpalaru2015-06-151-67/+73
|\
| * lib/system/g-w - Dropped 'T' from typespdw2015-06-041-67/+73
| |
* | the Go GC - initial implementationStefan Talpalaru2015-05-311-3/+3
|/
* Fix pthread_create binding when compiling in C++ mode.Philip Wernersbach2015-03-151-2/+2
| | | | | C++ has different rules for void pointers, which causes the binding to be invalid when compiling in C++ mode.
* fixes #2074Araq2015-02-261-1/+11
|
* Disable -pthread for linker on OSXHans Raaf2015-02-131-1/+3
| | | | | The -pthread is not needed on Darwin/OS X and the Apple compilers give a warning about this if you use --threads:on with the Nim compiler.
* proper fix for stack initialization and threadvar emulationAraq2014-11-111-11/+27
|
* Remove references to pthread_mutex_timedlock().Reimer Behrends2014-11-061-10/+0
| | | | | | | The pthread_mutex_timedlock() function is not supported on a number of architectures and is not actually used by the library or compiler, but prevents C++ compilation on systems that do not support it when threads are enabled.
* merged things from develAraq2014-09-121-1/+0
|\
| * Threads work againAraq2014-09-111-32/+46
| |
* | make tests greenAraq2014-08-311-23/+37
| |
* | Winlean and threads case sensitivity fixes.Dominik Picheta2014-08-301-4/+4
| |
* | the big renamefest: first stepsAraq2014-08-221-7/+7
|/
* distinguish between 'defined' and 'declared'Araq2014-08-111-6/+6
|
* minor tweaks; updated todo.txtAraq2014-04-251-1/+1
|
* made large parts of the stdlib gcsafeAraq2014-04-201-2/+2
|
* case consistency improvementsAraq2014-01-111-30/+30
|
* Correct the spelling of the word 'implicitly'Satish BD2013-12-231-1/+1
|
* better error message for implicitly available modulesAraq2013-12-011-0/+3
|
* Adds link to manual thread memory section from threads module.Grzegorz Adam Hankiewicz2013-05-101-2/+2
|
* Removes executable bit for text files.Grzegorz Adam Hankiewicz2013-03-161-0/+0
|
* Many doc improvements. Changed Threads.joinThreads' param's type to varargs.Dominik Picheta2012-11-041-1/+1
|
* made some tests greenAraq2012-09-121-4/+2
|
* made tests green againAraq2012-08-241-1/+1
|
* keep initStackBottom calls pleaseAraq2012-08-021-0/+1
|
* DLL fixes for windows; fixes #175Zahary Karadjov2012-07-311-1/+0
|
* fixes #168Araq2012-07-191-1/+2
|
* preparations for making 'closure' the default calling convention for proc typesAraq2012-07-161-2/+2
|
* year 2012 for most copyright headersAraq2012-01-021-1/+1
|
* threads compile again; attempt to fix serious code gen issue (except + return)Araq2011-12-031-2/+2
|
* implemented 'let' statementAraq2011-11-291-1/+2
|
* fixed bug that kept tls emulation from workingAraq2011-11-251-4/+5
|
* DLL generation may work againAraq2011-11-021-5/+7
|
* new compiler option tlsEmulationAraq2011-10-271-1/+1
|
* bugfixes for generics; new threads implementation still brokenAraq2011-09-201-3/+5
|
* new actors implementation for nimrod; compiler's generics still not up for ↵Araq2011-08-291-64/+30
| | | | the task though
* locks now in their own core moduleAraq2011-08-201-117/+3
|
* bugfix: running for threadsAraq2011-08-121-1/+1
|
* added system.running for threadsAraq2011-08-111-0/+8
|
* bugfix: proper cache for generic instantiationsAraq2011-07-211-1/+1
|
* shared untraced heap; bugfix: mem corruptions in message passing codeAraq2011-07-181-9/+4
|
* first steps to explicit channels for thread communication; added mainThreadIdAraq2011-07-161-2/+10
|
* version 0.8.12Araq2011-07-101-1/+1
|
* preparations for 0.8.12Araq2011-07-101-72/+89
|
* basic message passing workingAraq2011-07-091-8/+29
|