| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | thread: set stack size to rlimit | Laytan Laats | 2025-08-02 | 1 | -1/+6 |
| | | |||||
| * | Expand `self_cleanup` documentation. | Jeroen van Rijn | 2025-06-24 | 1 | -12/+24 |
| | | |||||
| * | Fix early join after start. | Jeroen van Rijn | 2025-06-21 | 2 | -13/+13 |
| | | |||||
| * | fix: make pool_finish not hang when pool_start is not called | Bruno Panuto | 2025-06-16 | 1 | -0/+14 |
| | | |||||
| * | Comment | Jeroen van Rijn | 2025-06-12 | 1 | -1/+2 |
| | | |||||
| * | Revert changes to thread_unix.odin | Jeroen van Rijn | 2025-06-12 | 1 | -7/+2 |
| | | |||||
| * | Remove transmute | Jeroen van Rijn | 2025-06-12 | 1 | -2/+2 |
| | | |||||
| * | Remove c import | Jeroen van Rijn | 2025-06-12 | 1 | -1/+0 |
| | | |||||
| * | Fix #5321 | Jeroen van Rijn | 2025-06-12 | 1 | -2/+7 |
| | | |||||
| * | Fix #5321 | Jeroen van Rijn | 2025-06-12 | 1 | -2/+1 |
| | | |||||
| * | Early out and propagate `nil` in `create*` | Jeroen van Rijn | 2025-04-17 | 1 | -13/+25 |
| | | | | | | If allocation of a `^Thread` failed, `create*` now properly return `nil`, so you can assert on that instead of calling `thread.destroy` on a null pointer, say. | ||||
| * | Fix #5049 | Jeroen van Rijn | 2025-04-17 | 1 | -2/+4 |
| | | | | | Keep in mind that `thread.create` needs an allocator to be set, as it returns `^Thread`. | ||||
| * | Use a proper Queue in thread.Pool | Waqar Ahmed | 2024-11-30 | 1 | -8/+9 |
| | | | | | | With lots of tasks the dynamic array takes a big performance hit as its allocating all the time on pop_front | ||||
| * | fix thread_unix for Darwin after pthread corrections in posix package | Laytan Laats | 2024-10-30 | 1 | -4/+12 |
| | | | | | | | | | | | | | | | | | | | | | | | | afed3ce removed the sys/unix package and moved over to sys/posix, it has new bindings for the pthread APIs but should have been equivalent (not). 8fb7182 used `CANCEL_ENABLE :: 0`, `CANCEL_DISABLE :: 1`, `CANCEL_DEFERRED :: 0`, `CANCEL_ASYNCHRONOUS :: 1` for Darwin, while the correct values are `1`, `0`, `2` and `0` respectively (same mistake was made for FreeBSD in that commit). What this meant is that the `pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS)` was not actually successful, but because the error wasn't checked it was assumed it was. It also meant `pthread_setcancelstate(PTHREAD_CANCEL_ENABLE)` would actually be setting `PTHREAD_CANCEL_DISABLE`. The code in this PR restores the behaviour by now actually deliberately setting `PTHREAD_CANCEL_DISABLE` and not setting `PTHREAD_CANCEL_ASYNCHRONOUS` which was the previous behaviour that does actually seem to work for some reason. (I also fixed an issue in fmt where `x` would use uppercase if it was a pointer.) | ||||
| * | remove pthread from sys/unix and use sys/posix where used | Laytan | 2024-10-28 | 1 | -30/+30 |
| | | |||||
| * | Merge branch 'master' into file-tags-without-comments | Karl Zylinski | 2024-09-17 | 4 | -33/+18 |
| |\ | |||||
| | * | Fix data race when `pool_stop_task` is called | Feoramund | 2024-09-09 | 1 | -0/+1 |
| | | | |||||
| | * | Use more atomic handling of thread flags | Feoramund | 2024-09-09 | 2 | -9/+9 |
| | | | | | | | | | This can prevent a data race on Linux with `Self_Cleanup`. | ||||
| | * | Convert POSIX `Thread` to use semaphore instead | Feoramund | 2024-09-09 | 1 | -12/+4 |
| | | | | | | | | | | | | | | | | | One less value to store, and it should be less of a hack too. Semaphores will not wait around if they have the go-ahead; they depend on an internal value being non-zero, instead of whatever was loaded when they started waiting, which is the case with a `Cond`. | ||||
| | * | Fix rare double-join possibility in POSIX `thread._join` | Feoramund | 2024-09-09 | 1 | -12/+4 |
| | | | | | | | | | This was occuring about 1/100 times with the test runner's thread pool. | ||||
| * | | Moved all packages in core, base, vendor, tests and examples to use new #+ ↵ | Karl Zylinski | 2024-09-14 | 3 | -5/+5 |
| |/ | | | | file tag syntax. | ||||
| * | Fix thread sanitizer errors surfaced by tests/core/io | pkova | 2024-09-03 | 1 | -2/+3 |
| | | |||||
| * | fix zombie thread leak in thread self cleanup | Laytan Laats | 2024-08-28 | 1 | -0/+3 |
| | | |||||
| * | Merge pull request #4148 from Feoramund/tls-cleaner | gingerBill | 2024-08-26 | 2 | -2/+10 |
| |\ | | | | | Add API for freeing `thread_local` state | ||||
| | * | Add API for freeing `thread_local` state | Feoramund | 2024-08-26 | 2 | -2/+10 |
| | | | |||||
| * | | Fix use-after-free in `thread.Pool` | Feoramund | 2024-08-26 | 1 | -2/+6 |
| |/ | |||||
| * | [thread]: Document all functions in core:thread | flysand7 | 2024-07-21 | 1 | -39/+242 |
| | | |||||
| * | fix some bugs with -disable-assert | Laytan Laats | 2024-07-16 | 1 | -3/+5 |
| | | |||||
| * | wasi: make the demo run on wasi and run it in CI | Laytan Laats | 2024-06-29 | 5 | -48/+56 |
| | | |||||
| * | Call `pthread_cancel` on Darwin, with advisory comment | Feoramund | 2024-06-28 | 1 | -14/+17 |
| | | |||||
| * | core/thread: fix a deadlock situation on unix | Laytan Laats | 2024-06-07 | 1 | -11/+12 |
| | | |||||
| * | Set thread pool `is_running` to false on shutdown | Feoramund | 2024-06-02 | 1 | -0/+1 |
| | | |||||
| * | Clear thread pool task data on restart | Feoramund | 2024-06-02 | 1 | -0/+2 |
| | | |||||
| * | Add task-stopping functionality to `thread.Pool` | Feoramund | 2024-06-02 | 1 | -15/+115 |
| | | |||||
| * | Merge pull request #3439 from andreas-jonsson/netbsd | gingerBill | 2024-05-15 | 1 | -5/+5 |
| |\ | | | | | NetBSD support | ||||
| | * | Merge branch 'master' into netbsd | Andreas T Jonsson | 2024-05-10 | 1 | -2/+2 |
| | |\ | |||||
| | * | | Fixed concurrency issue | Andreas T Jonsson | 2024-04-18 | 1 | -2/+2 |
| | | | | | | | | | | | | | Fixed broken thread policy causing deadlocks. | ||||
| | * | | Updated core lib and did cleanup | Andreas T Jonsson | 2024-04-18 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | Updated core with some path related functions and did some minor code cleanup. Most of the standard library function is just a matter of copy what is there for the other BSDs. | ||||
| | * | | Initial commit of NetBSD port | Andreas T Jonsson | 2024-04-16 | 1 | -1/+1 |
| | | | | |||||
| * | | | Fix hanging on `thread.join` for windows where the thread had not been `start`ed | gingerBill | 2024-05-13 | 1 | -1/+2 |
| | | | | |||||
| * | | | Fix joining non-`Started` threads from blocking main thread | Feoramund | 2024-05-10 | 2 | -2/+19 |
| | |/ |/| | |||||
| * | | Fix discrepancy with pthread cancelability state | Feoramund | 2024-04-22 | 1 | -2/+2 |
| |/ | |||||
| * | Add `#no_broadcast` procedure parameter to disallow automatic array ↵ | gingerBill | 2024-03-21 | 1 | -1/+1 |
| | | | | | programming broadcasting on procedure arguments | ||||
| * | fix core:thread and a memory leak | avanspector | 2024-02-27 | 1 | -4/+9 |
| | | | | | in the future probably native non-pthread implementation for haiku will be required | ||||
| * | Replace `core:*` to `base:*` where appropriate | gingerBill | 2024-01-28 | 5 | -6/+6 |
| | | |||||
| * | stdcall -> system | gingerBill | 2024-01-17 | 1 | -1/+1 |
| | | |||||
| * | Allow larger thread poly data | Laytan Laats | 2023-11-15 | 1 | -38/+55 |
| | | | | | | | | | The poly data currently has the restriction of being less than a pointer's size, but there is much more space in the `Thread.user_args` array which can be utilized, this commit allows you to pass types that are larger than pointer length as long as the total size of the poly data is less than that of the `Thread.user_args`. | ||||
| * | [core]: Remove `do` keyword from the core library | flysand7 | 2023-11-11 | 1 | -6/+18 |
| | | |||||
| * | Require parentheses for `#align(N)` | gingerBill | 2023-08-15 | 1 | -1/+1 |
| | | |||||
| * | Clean up usage of `using` throughout core and vendor | gingerBill | 2023-07-31 | 1 | -2/+2 |
| | | |||||