Commit Graph

65 Commits

Author SHA1 Message Date
Florian Behr
ee67a0b9a1 reorder procedure parameters to make sure the optional argument in pool_add_task() is last, and the argument order is consistent with pool_init() 2022-04-25 14:08:09 +02:00
Florian Behr
ca6a1db757 fix doc comment for pool_init 2022-04-25 13:41:39 +02:00
Florian Behr
e01662c139 Make allocator in pool_add_task() explicit 2022-04-25 13:23:05 +02:00
gingerBill
22b961ea53 Update Thread Pool in core:thread
Thanks to the work of eisbehr
2022-03-31 11:55:46 +01:00
gingerBill
97a183f412 Clean up thread_windows.odin 2022-03-31 01:13:29 +01:00
gingerBill
4eb4ae6305 Replace sync with sync2 2022-03-30 17:42:44 +01:00
Dale Weiler
3da8fa9b27 can use sync.guard here 2022-03-11 08:41:03 -05:00
Dale Weiler
32ba5e7ad2 formatting 2022-03-11 08:36:04 -05:00
Dale Weiler
52df80dccd fix for mac & use atomic store on write side to avoid race 2022-03-11 08:35:23 -05:00
Dale Weiler
7f845bb165 fix for spurious wakeups 2022-03-11 08:30:03 -05:00
Dale Weiler
0e6de5673b fix thread data races 2022-03-11 08:06:23 -05:00
Sébastien Marie
5676c9e7eb initial OpenBSD support 2022-02-25 08:49:25 +00:00
powerc9000
2f3c5336d9 Fix mutex and conditions trying to be destroyed twice in unix 2022-01-27 15:38:16 -07:00
gingerBill
d165de0d4d Move thread initialization variables in thread_unix.odin 2021-10-26 11:46:31 +01:00
gingerBill
c9e6862332 Add id to thread.Thread 2021-10-24 12:30:25 +01:00
gingerBill
0070119392 Add thread.create_and_start_with_* procedures 2021-10-11 19:56:29 +01:00
gingerBill
ca33cb990b Strip semicolons in core which were missing 2021-09-08 13:12:38 +01:00
gingerBill
f57201bbd1 Remove unneeded semicolons from the core library 2021-08-31 22:32:53 +01:00
gingerBill
251da264ed Remove unneeded semicolons from the core library 2021-08-31 22:21:13 +01:00
gingerBill
f0437a4242 Enforce core:builtin and core:intrinsics for imports 2021-08-21 13:44:16 +01:00
gingerBill
21cbac755e Make or_else and or_return operators (binary and suffix respectively) 2021-08-15 17:14:35 +01:00
gingerBill
f7413ca974 Fix thread_unix.odin 2021-07-05 16:36:07 +01:00
gingerBill
9b3a0251ca Use or_else in the core library when it makes sense 2021-07-05 16:33:01 +01:00
gingerBill
ebed29fc09 Revert *nix thread stuff to old sync
(I was just testing)
2021-04-13 19:09:04 +01:00
gingerBill
bee8beb2c9 Default to pthreads in sync2 for *nix 2021-04-13 19:04:44 +01:00
gingerBill
1156bd9dd0 Remove thread stuff from sync2; Cleanup package thread 2021-04-11 18:25:56 +01:00
gingerBill
ef417017f0 Fix typo 2020-11-30 19:46:41 +00:00
gingerBill
7c1c9d22b4 Fix thread.run_with_poly_data* 2020-11-30 19:44:43 +00:00
gingerBill
95b94a0f56 Fix sync.Channel code; add thread.run_with_poly_data and run_with_poly_data(2|3|4) procedures 2020-11-10 15:00:40 +00:00
Patric Dexheimer
59b8748c2c Update thread_windows.odin 2020-10-31 02:40:52 -03:00
Patric Dexheimer
2231f02f61 Update thread_windows.odin
`n` was left over being always zero. But you want `win32.WaitForMultipleObjects` to be the number of threads to wait for which u already have with `j`.
2020-10-31 02:37:26 -03:00
gingerBill
fc4fdd588e Remove usage of do in core library 2020-09-23 17:17:14 +01:00
Christian Seibold
577be4a8ae Get Odin compiling and produced exe's running on FreeBSD 2020-09-14 15:22:35 -05:00
gingerBill
6d032e6f1a Update package sync 2020-08-02 15:01:17 +01:00
gingerBill
7ae54ae3b4 Add -no-dynamic-literals to disallow dynamic array and map literals 2020-07-14 23:01:34 +01:00
gingerBill
b2beb9512f Add thread.join_multiple 2020-07-14 21:08:04 +01:00
gingerBill
ce85b73eca Add sync.Once 2020-07-14 16:38:54 +01:00
gingerBill
86448ee044 Add raw_data to replace cases in which &x[0] was used 2020-06-29 15:58:24 +01:00
gingerBill
858c5f8fd8 Update thread_unix logic 2020-06-27 11:36:48 +01:00
gingerBill
f92b4c7849 Update sys/unix; Rename thread.create_and_start 2020-06-27 11:26:38 +01:00
gingerBill
2b18f43b65 Update sys/windows; Add sync.Blocking_Mutex (windows only at the moment) 2020-06-27 00:59:40 +01:00
gingerBill
6bd05ef5d7 Begin migration from sys/win32 to sys/windows 2020-06-26 19:11:34 +01:00
gingerBill
2562df5387 Remove unused imports in thread.odin 2020-06-22 13:35:44 +01:00
gingerBill
0ab356aa4e Fix sync and thread on *nix 2020-06-22 13:32:58 +01:00
gingerBill
b3c51a8b44 Add thread.run* shorthand procedures; Thread.init_context use new Maybe concept 2020-06-22 13:28:37 +01:00
gingerBill
218c1599b1 Add explicit context to thread_unix.odin 2020-05-14 13:48:03 +01:00
gingerBill
e0a242e9a1 Enforce explicit context definition for procedure calls 2020-05-14 13:44:28 +01:00
jharler
72a5030f3d Fixed thread_pool not destroying threads 2020-05-11 12:32:35 -04:00
gingerBill
b725ae5ae0 Merge pull request #617 from Tetralux/dep-yield-processor
Rename `yield_processor` to `cpu_relax`
2020-04-21 18:07:04 +01:00
Tetralux
8dd1b61aa2 sync.yield_processor -> sync.cpu_relax; have it call intrinsics.cpu_relax 2020-04-21 16:07:18 +00:00