summary refs log tree commit diff stats
path: root/lib/system/threads.nim
Commit message (Collapse)AuthorAgeFilesLines
* Dont assert on setstacksize result in iOS (#15427) [backport:1.2]Yuriy Glukhov2020-09-291-1/+4
|
* deinitLock (#15383)flywind2020-09-221-0/+2
| | | | | * deinitLock * minor
* fixes #14370 (#14371)Andreas Rumpf2020-05-161-1/+1
|
* fixes #13881Andreas Rumpf2020-05-121-9/+15
| | | | | | * fixes #13881 * documented changed requirements for system.onThreadDestruction * destructors.rst: update the documentation
* enable --tlsEmulation:on for --gc:arc (#13685)Andreas Rumpf2020-03-181-4/+1
| | | | * enable --tlsEmulation:on for --gc:arc * make -d:useMalloc work with --gc:arc --threads:on
* Thread attributes should be destroyed using the pthread_attr_destroy() (#13293)Hiroki Noda2020-01-291-2/+3
| | | | | On some OSes (such as FreeBSD or Solaris), pthread_attr_init allocate memory. So it is necessary to deallocate that memory by using pthread_attr_destroy.
* csize_t changes: pinToCpu didn't compile (#12725)Mamy Ratsimbazafy2019-11-251-1/+1
|
* --gc:destructors now means Nim uses pure refcounting (#12557)Andreas Rumpf2019-10-301-1/+1
|
* fixes #1188Araq2019-08-161-3/+6
|
* fix #11854 (#11857)Arne Döring2019-07-301-1/+1
|
* Fixed "is not GC-safe as it calls 'createThread'" when creating a thread in ↵Dankr4d2019-06-031-1/+1
| | | | a thread. (#11390)
* Fix header inconsistencies in documentation (#11071)Zed2019-04-231-2/+3
|
* refactoring: move threadlocalstorage into its own fileAraq2019-04-041-325/+19
|
* --newruntime: progressAndreas Rumpf2019-03-141-2/+0
|
* improved documentation for several modules (#10752)Miran2019-03-011-31/+40
| | | | | | | | | | | | More detailed documentation for: * md5 * hashes Mostly cosmetic improvements for: * threadpool * typetraits * channels * threads
* system refactorings (#10559)Andreas Rumpf2019-02-061-5/+2
| | | | | | | | * move IO subsystem into its own module; refs #10385 * make standalone test compile again * make C++ examples compile again * make more tests green * make sysAssert and gcAssert work again
* removes deprecated T/P typesAraq2018-11-161-6/+0
|
* even more strict isNil handling for strings/seqs in order to detect bugsAraq2018-08-221-2/+3
|
* Haiku support for Nim (#8542)alaviss2018-08-141-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * posix_other: Haiku now has spawn.h This is added per https://dev.haiku-os.org/ticket/13446 * posix_other: Add Haiku specific Dirent members * cpuinfo: Add an implementation for Haiku * distros: Add basic Haiku support * encodings: update Haiku support * fenv, math: Haiku now provides libm * times: Add Haiku struct members * ansi_c, osalloc: Add Haiku constants * threads: Add Haiku support * testament: Haiku uses LIBRARY_PATH * nim.cfg: Update Haiku support libnetwork should only be linked if network functions are used * threads: Haiku does not support -pthread switch * tworkingdir: Haiku's env is in /bin * posix_other: add SIGKILLTHR for Haiku * sockets: link with libnetwork on Haiku * coro: correct ucontext.h location http://pubs.opengroup.org/onlinepubs/009696699/basedefs/ucontext.h.html * coro: ucontext backend is not available on Haiku Haiku doesn't provide the <ucontext.h> header, as it was removed from POSIX * coro: fix setjmp backend The compiler does not allow statements after a noreturn function * nativesockets: Haiku doesn't support AI_V4MAPPED * system: hostOS can contains "haiku" * os: add support for Haiku's packagefs packagefs is read-only, but there are writable holes to the underlying file system as well * os: update constant for Haiku
* Nintendo switch support (#8069)Joey2018-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * Add config section for Nintendo Switch * Add compiler configuration for Nintendo Switch and it's CPU * Add specific lib code for Nintendo Switch * Add GC support for Nintendo Switch * Update changelog for Nintendo Switch * Update changelog with more info about fixed paths * Cleaned up GC memory management a bit * Relocate docs for Switch * Rename aarch64NoneElfGcc to nintendoSwitchGCC * Remove armv8a57 * Fix installer.ini * Reuse code in linux and amd64 * Add posix defs for nintendo switch * Add more defined sections for nintendo switch * Remove old comment * Add what's not supported for Nintendo Switch docs * Make nintendoswitch == posix * Remove DEVKITPRO references from nim.cfg * Make PR extccomp changes * Remove Result type alias * Add separate switch consts file * Update docs for nintendo switch * Fix travis errors with undefined consts and add correct wait.h procs
* Native access to Genode environmentEmery Hemingway2018-06-071-2/+5
| | | | | | | | | | | | | | | | | Add a 'GenodeEnv' type and a 'componentConstructHook' to the system module. The 'componentConstructHook' allows for detection of POSIX style programs that exit implicitly or native Genode components that initialize to serve RPC requests and OS signals. This hook takes a 'GenodeEnv' argument so that the environment interface is passed cleanly to application code after globals are initialized. This is an typed pointer to a C++ object, procedures for accessing the environment will be available from a Nimble library and not included in the standard library. The standard library has an internal pointer to the environment object but this is not for external use, the undocumented global environment pointer has been removed.
* Expose GC_setStackBottom (#7885)Yuriy Glukhov2018-06-041-1/+1
|
* __NR_gettid as const on amd64 (#7460)Jacek Sieka2018-04-061-1/+4
|
* Threading: increase TLS size for new allocatorAraq2017-12-071-2/+2
|
* fixes #5143Araq2017-10-161-1/+1
|
* balance Genode CPU pinning, deadlock at Genode exit (#6317)Emery Hemingway2017-09-161-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:stackAraq2017-08-131-2/+2
|
* Allow to configure tls size (#6171)Ruslan Mustakov2017-08-051-2/+7
|
* Remove expr/stmt (#5857)Arne Döring2017-07-251-1/+1
|
* Cache threadId to not perform syscalls all the time (#6111)Eugene Kabanov2017-07-161-46/+79
| | | Use syscall to get threadId on FreeBSD and MacOS
* Fix #5920 (#5922)Eugene Kabanov2017-05-311-1/+11
| | | | * Use native `getthrid` on OpenBSD. * Use NetBSD specific primitive to get thread id
* Linux abi take 3 (#5692)Jacek Sieka2017-04-121-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 Hemingway2017-04-021-0/+2
| | | Allocate thread metadata at createThread.
* support for the Genode OS framework (#5560)Emery Hemingway2017-03-311-1/+74
|
* Fixes #4719. (#5585)Eugene Kabanov2017-03-231-19/+23
|
* Fix #4972. (#5567)Eugene Kabanov2017-03-191-5/+10
|
* Fixes to support Dragonfly BSD. (#5552)Eugene Kabanov2017-03-171-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 localAraq2017-02-261-49/+11
|
* Add ``tearDownForeignThreadGc`` function (#5369)Anatoly Galiulin2017-02-131-1/+15
|
* Use __NR_gettid instead of SYS_gettid (#5338)Yuriy Glukhov2017-02-041-3/+3
|
* make getThreadId() work on OSXAndreas Rumpf2017-01-311-2/+4
|
* another attempt to getThreadId work on Linuxaraq2017-01-311-1/+1
|
* make getThreadId() work on Linuxaraq2017-01-311-3/+6
|
* added system.getThreadId for various OSes (untested)Araq2017-01-311-1/+31
|
* bugfix: onThreadDestruction callbacks should be run in reverse orderAndreas Rumpf2017-01-261-1/+1
|
* onThreadDestruction feature added to Nim's threading modelAndreas Rumpf2017-01-241-11/+32
|
* added system.runOnThreadCreationHandlers for initialization of thread local ↵Araq2017-01-201-0/+9
| | | | storage for the main thread
* added system.onThreadCreation feature for safe thread local storage ↵Andreas Rumpf2017-01-181-0/+31
| | | | initializations
* naive work-around for time redefinition (#5193)Fabian Keller2017-01-081-4/+5
|
* disable pinToCpu for OSXAndreas Rumpf2017-01-071-4/+5
|