| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Ensure creating a low priority thread does not assert with SCHED_OTHER policy | Nathan Wong | 2026-01-13 | 1 | -1/+5 |
| | | |||||
| * | removes the darwin specific paths from thread_unix | Laytan Laats | 2025-11-07 | 1 | -15/+8 |
| | | | | | | | | | | | | I know I left a note there about deadlocks but it doesn't seem to happen anymore, especially now that the test runner creates cancellation points. Also, what was this `can_set_thread_cancel_state` for? It does not make sense to me that it enables cancellation, and then does it again later. With the comment it seems like it should be `.DISABLE` to first disable and then wait for the thread to start. But even that seems weird, why do you need to do that? I removed it. | ||||
| * | thread: set stack size to rlimit | Laytan Laats | 2025-08-02 | 1 | -1/+6 |
| | | |||||
| * | Fix early join after start. | Jeroen van Rijn | 2025-06-21 | 1 | -6/+5 |
| | | |||||
| * | 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 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 | 1 | -24/+8 |
| |\ | |||||
| | * | 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 | 1 | -2/+2 |
| |/ | | | | file tag syntax. | ||||
| * | fix zombie thread leak in thread self cleanup | Laytan Laats | 2024-08-28 | 1 | -0/+3 |
| | | |||||
| * | Add API for freeing `thread_local` state | Feoramund | 2024-08-26 | 1 | -1/+5 |
| | | |||||
| * | 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 | 1 | -0/+2 |
| | | |||||
| * | 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 |
| | | |||||
| * | 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 joining non-`Started` threads from blocking main thread | Feoramund | 2024-05-10 | 1 | -0/+9 |
| | |/ |/| | |||||
| * | | Fix discrepancy with pthread cancelability state | Feoramund | 2024-04-22 | 1 | -2/+2 |
| |/ | |||||
| * | 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 | 1 | -1/+1 |
| | | |||||
| * | Require parentheses for `#align(N)` | gingerBill | 2023-08-15 | 1 | -1/+1 |
| | | |||||
| * | [core:thread] Seeing if this fixes network tests | hikari | 2023-06-07 | 1 | -8/+1 |
| | | |||||
| * | [core:thread] Fix compilation | hikari | 2023-06-07 | 1 | -0/+2 |
| | | |||||
| * | [core:thread] Added `self_cleanup` flag to properly auto-clean threads | hikari | 2023-06-07 | 1 | -0/+5 |
| | | |||||
| * | [thread] Refactor handling of 'init_context' + add doc comments for it | Tetralux | 2023-06-03 | 1 | -12/+12 |
| | | |||||
| * | Disable thread.terminate on Darwin for now. | Jeroen van Rijn | 2022-05-11 | 1 | -7/+14 |
| | | |||||
| * | Implement pthread_cancel. | Jeroen van Rijn | 2022-05-11 | 1 | -1/+10 |
| | | |||||
| * | Fix join on *nix. | Jeroen van Rijn | 2022-05-11 | 1 | -5/+14 |
| | | |||||
| * | Replace `sync` with `sync2` | gingerBill | 2022-03-30 | 1 | -1/+1 |
| | | |||||
| * | can use sync.guard here | Dale Weiler | 2022-03-11 | 1 | -2/+1 |
| | | |||||
| * | formatting | Dale Weiler | 2022-03-11 | 1 | -2/+2 |
| | | |||||
| * | fix for mac & use atomic store on write side to avoid race | Dale Weiler | 2022-03-11 | 1 | -2/+2 |
| | | |||||
| * | fix for spurious wakeups | Dale Weiler | 2022-03-11 | 1 | -1/+1 |
| | | |||||
| * | fix thread data races | Dale Weiler | 2022-03-11 | 1 | -80/+40 |
| | | |||||
| * | initial OpenBSD support | Sébastien Marie | 2022-02-25 | 1 | -1/+1 |
| | | |||||
| * | Fix mutex and conditions trying to be destroyed twice in unix | powerc9000 | 2022-01-27 | 1 | -2/+0 |
| | | |||||
| * | Move thread initialization variables in thread_unix.odin | gingerBill | 2021-10-26 | 1 | -2/+6 |
| | | |||||
| * | Add `id` to `thread.Thread` | gingerBill | 2021-10-24 | 1 | -1/+2 |
| | | |||||
| * | Strip semicolons in core which were missing | gingerBill | 2021-09-08 | 1 | -55/+55 |
| | | |||||
| * | Make `or_else` and `or_return` operators (binary and suffix respectively) | gingerBill | 2021-08-15 | 1 | -1/+1 |
| | | |||||
| * | Fix `thread_unix.odin` | gingerBill | 2021-07-05 | 1 | -0/+1 |
| | | |||||