Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | __NR_gettid as const on amd64 (#7460) | Jacek Sieka | 2018-04-06 | 1 | -1/+4 |
| | |||||
* | Threading: increase TLS size for new allocator | Araq | 2017-12-07 | 1 | -2/+2 |
| | |||||
* | fixes #5143 | Araq | 2017-10-16 | 1 | -1/+1 |
| | |||||
* | balance Genode CPU pinning, deadlock at Genode exit (#6317) | Emery Hemingway | 2017-09-16 | 1 | -2/+7 |
| | | | | | | | | | | | | | * Genode: balance thread CPU affinities Genode threads are pinned by defaut to the same CPU as the initial component entrypoint thread. Thread affinities are also permanent. This patch pins new threads to CPUs in a round-robin manner. Arbitrary CPU pinning is not exposed and the 'nimPinToCpu' has no effect. * Genode: guarantee that 'quit' will not return On Genode exits are handled by whatever component is acting as parent. The caller has no guarentee that the parent implementation will halt the caller's threads, so explicitly deadlock the 'quit' procedure. | ||||
* | WIP: --gc:regions instead of --gc:stack | Araq | 2017-08-13 | 1 | -2/+2 |
| | |||||
* | Allow to configure tls size (#6171) | Ruslan Mustakov | 2017-08-05 | 1 | -2/+7 |
| | |||||
* | Remove expr/stmt (#5857) | Arne Döring | 2017-07-25 | 1 | -1/+1 |
| | |||||
* | Cache threadId to not perform syscalls all the time (#6111) | Eugene Kabanov | 2017-07-16 | 1 | -46/+79 |
| | | | Use syscall to get threadId on FreeBSD and MacOS | ||||
* | Fix #5920 (#5922) | Eugene Kabanov | 2017-05-31 | 1 | -1/+11 |
| | | | | * Use native `getthrid` on OpenBSD. * Use NetBSD specific primitive to get thread id | ||||
* | Linux abi take 3 (#5692) | Jacek Sieka | 2017-04-12 | 1 | -13/+21 |
| | | | | | * avoid generating object fields for imported types * fix some abi/type issues for linux_amd64 | ||||
* | fixup! support for the Genode OS framework (#5653) | Emery Hemingway | 2017-04-02 | 1 | -0/+2 |
| | | | Allocate thread metadata at createThread. | ||||
* | support for the Genode OS framework (#5560) | Emery Hemingway | 2017-03-31 | 1 | -1/+74 |
| | |||||
* | Fixes #4719. (#5585) | Eugene Kabanov | 2017-03-23 | 1 | -19/+23 |
| | |||||
* | Fix #4972. (#5567) | Eugene Kabanov | 2017-03-19 | 1 | -5/+10 |
| | |||||
* | Fixes to support Dragonfly BSD. (#5552) | Eugene Kabanov | 2017-03-17 | 1 | -2/+6 |
| | | | | | | | | | * Fix kqueue.nim and ansi_c.nim to support dragonfly. * Fix ioselectors.nim, threads.nim to support dragonfly. * Fix deprecated dealloc call in tioselectors.nim. * Fix tfsmonitor.nim test to run only on Linux. * Fix osproc.nim return wrong exit codes. * Fix getAppFilename() for dragonfly. * Fix proper exit code handling. | ||||
* | removed onThreadCreation; onThreadDestruction is now thread local | Araq | 2017-02-26 | 1 | -49/+11 |
| | |||||
* | Add ``tearDownForeignThreadGc`` function (#5369) | Anatoly Galiulin | 2017-02-13 | 1 | -1/+15 |
| | |||||
* | Use __NR_gettid instead of SYS_gettid (#5338) | Yuriy Glukhov | 2017-02-04 | 1 | -3/+3 |
| | |||||
* | make getThreadId() work on OSX | Andreas Rumpf | 2017-01-31 | 1 | -2/+4 |
| | |||||
* | another attempt to getThreadId work on Linux | araq | 2017-01-31 | 1 | -1/+1 |
| | |||||
* | make getThreadId() work on Linux | araq | 2017-01-31 | 1 | -3/+6 |
| | |||||
* | added system.getThreadId for various OSes (untested) | Araq | 2017-01-31 | 1 | -1/+31 |
| | |||||
* | bugfix: onThreadDestruction callbacks should be run in reverse order | Andreas Rumpf | 2017-01-26 | 1 | -1/+1 |
| | |||||
* | onThreadDestruction feature added to Nim's threading model | Andreas Rumpf | 2017-01-24 | 1 | -11/+32 |
| | |||||
* | added system.runOnThreadCreationHandlers for initialization of thread local ↵ | Araq | 2017-01-20 | 1 | -0/+9 |
| | | | | storage for the main thread | ||||
* | added system.onThreadCreation feature for safe thread local storage ↵ | Andreas Rumpf | 2017-01-18 | 1 | -0/+31 |
| | | | | initializations | ||||
* | naive work-around for time redefinition (#5193) | Fabian Keller | 2017-01-08 | 1 | -4/+5 |
| | |||||
* | disable pinToCpu for OSX | Andreas Rumpf | 2017-01-07 | 1 | -4/+5 |
| | |||||
* | bugfix: bottom of AVL tree is now threadsafe | Andreas Rumpf | 2016-09-24 | 1 | -0/+2 |
| | |||||
* | attempt to fix #4640 | Andreas Rumpf | 2016-09-13 | 1 | -1/+3 |
| | |||||
* | fixes #4088 | Andreas Rumpf | 2016-09-11 | 1 | -3/+3 |
| | |||||
* | Add handle function to Thread type | coffeepots | 2016-07-27 | 1 | -2/+6 |
| | | | Exposes SysThread type and introduces the function "handle" to return Thread.sys. | ||||
* | prepare Nim codebase for upcoming parser changes | Andreas Rumpf | 2016-07-15 | 1 | -2/+2 |
| | |||||
* | prefer consts to importing #defines from headers | Jacek Sieka | 2016-06-06 | 1 | -2/+7 |
| | | | | | to be completed - better would be to have a libc wrapper that deals with all pesky C ABI details | ||||
* | Made nimphpext work with gc:stack. | Hans Raaf | 2016-05-25 | 1 | -2/+2 |
| | |||||
* | createThread is more convenient to use with a proc taking no arguments | Araq | 2015-10-19 | 1 | -0/+3 |
| | |||||
* | Properly register threads with the Boehm GC. | Reimer Behrends | 2015-09-08 | 1 | -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:on | Araq | 2015-08-26 | 1 | -1/+1 |
| | |||||
* | implemented system.pinToCpu | Araq | 2015-07-01 | 1 | -10/+40 |
| | |||||
* | Fix #2672. Do not define globalsSlot for native TLS | Sergey Avseyev | 2015-06-26 | 1 | -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 spaces | Sergey Avseyev | 2015-06-26 | 1 | -36/+35 |
| | |||||
* | Merge branch 'devel' into gogc | Stefan Talpalaru | 2015-06-15 | 1 | -67/+73 |
|\ | |||||
| * | lib/system/g-w - Dropped 'T' from types | pdw | 2015-06-04 | 1 | -67/+73 |
| | | |||||
* | | the Go GC - initial implementation | Stefan Talpalaru | 2015-05-31 | 1 | -3/+3 |
|/ | |||||
* | Fix pthread_create binding when compiling in C++ mode. | Philip Wernersbach | 2015-03-15 | 1 | -2/+2 |
| | | | | | C++ has different rules for void pointers, which causes the binding to be invalid when compiling in C++ mode. | ||||
* | fixes #2074 | Araq | 2015-02-26 | 1 | -1/+11 |
| | |||||
* | Disable -pthread for linker on OSX | Hans Raaf | 2015-02-13 | 1 | -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 emulation | Araq | 2014-11-11 | 1 | -11/+27 |
| | |||||
* | Remove references to pthread_mutex_timedlock(). | Reimer Behrends | 2014-11-06 | 1 | -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 devel | Araq | 2014-09-12 | 1 | -1/+0 |
|\ |