| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Merge branch 'master' into bill/feature-using-stmt | gingerBill | 2026-01-30 | 3 | -23/+61 |
| |\ | |||||
| | * | Merge pull request #6124 from laytan/nbio | gingerBill | 2026-01-16 | 1 | -21/+24 |
| | |\ | | | | | | | Add `core:nbio` | ||||
| | | * | thread: fix aligned loading of unaligned addresses | Laytan Laats | 2026-01-11 | 1 | -21/+24 |
| | | | | |||||
| | * | | Merge pull request #6125 from Wassimulator/patch-2 | gingerBill | 2026-01-14 | 1 | -1/+32 |
| | |\ \ | | | | | | | | | Add init and fini callback procs to thread pools | ||||
| | | * | | use ^Thread instead of index in init and fini | Wassim Alhajomar | 2026-01-14 | 1 | -4/+4 |
| | | | | | |||||
| | | * | | cleanup | Wassim Alhajomar | 2026-01-12 | 1 | -1/+32 |
| | | |/ | |||||
| | * / | Ensure creating a low priority thread does not assert with SCHED_OTHER policy | Nathan Wong | 2026-01-13 | 1 | -1/+5 |
| | |/ | |||||
| * / | Remove `using` use in thread_other.odin | gingerBill | 2025-12-21 | 1 | -1/+1 |
| |/ | |||||
| * | 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. | ||||
| * | Change Odin's LICENSE to zlib from BSD 3-clause | gingerBill | 2025-10-28 | 1 | -1/+1 |
| | | | | | This change was made in order to allow things produced with Odin and using Odin's core library, to not require the LICENSE to also be distributed alongside the binary form. | ||||
| * | Further overhaul of package line comments. | Jeroen van Rijn | 2025-10-09 | 1 | -1/+1 |
| | | |||||
| * | Add doc line to `core:thread` | gingerBill | 2025-10-09 | 1 | -0/+1 |
| | | |||||
| * | 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. | ||||