Clay Murray
83eabe2140
Fix pthread_t on Macos.
...
From some testing with directly using C code, pthread_t on macos is 8 bytes.
This is my test code:
```
#include <assert.h>
#include <stdio.h>
#include <pthread.h>
void* PosixThreadMainRoutine(void* data)
{
// Do some work here.
for (int i = 0; i < 2000000000; i++) {
}
return NULL;
}
pthread_t LaunchThread()
{
// Create the thread using POSIX routines.
pthread_attr_t attr;
pthread_t posixThreadID;
int returnVal;
returnVal = pthread_attr_init(&attr);
assert(!returnVal);
returnVal = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
assert(!returnVal);
int threadError = pthread_create(&posixThreadID, &attr, &PosixThreadMainRoutine, NULL);
returnVal = pthread_attr_destroy(&attr);
assert(!returnVal);
if (threadError != 0)
{
// Report an error.
}
return posixThreadID;
}
int main() {
pthread_t t = LaunchThread();
void ** ret;
printf("%d, %d\n", sizeof(t), sizeof(pthread_t));
int val = pthread_join(t, ret);
printf("%d", val);
return 0;
}
```
running this on macos reports `8, 8`.
Then I made the proposed changes and errors I was having with threads completely went away.
2020-07-11 18:22:56 -06:00
gingerBill
c4067372dd
Fix double declaration
2020-07-10 22:28:48 +01:00
gingerBill
b4e976364a
Add path_unix.odin
2020-07-10 08:42:59 +01:00
gingerBill
642afa4f88
Fix new package path
2020-07-10 08:42:22 +01:00
gingerBill
f65fa0e4a6
Merge pull request #339 from dotbmp/master
...
"core:path" Path library and "core:strings" `split` Utilities
2020-07-10 08:25:24 +01:00
gingerBill
65b9dbe13f
Clean-up OS constants; Clean-up procs_wasm32.odin
2020-07-09 17:21:40 +01:00
gingerBill
cb52f6986a
Fix Addressing_OptionalOk selector expression rules for struct field variables
2020-07-08 23:39:49 +01:00
gingerBill
94ba182691
Add sync.Benaphore
2020-07-08 23:16:54 +01:00
gingerBill
5b7c83d871
Add strings.pop_byte strings.pop_rune
2020-07-08 23:15:48 +01:00
gingerBill
4059542afb
Merge pull request #673 from kevinw/patch-2
...
add `#config` to odin parser
2020-07-08 23:08:31 +01:00
gingerBill
9da1347c21
Fix Source_Code_Location error for *_insert_dynamic_map_key_and_value procedures
2020-07-08 22:57:39 +01:00
gingerBill
a8c10c58b4
Fix negation of complex and quaternion numbers for ir.cpp backend
2020-07-08 22:35:47 +01:00
Mikkel Hjortshøj
6d9b2ec5b4
Merge pull request #685 from ThisDrunkDane/master
...
Fix misplaced line number in log (was wrongly formatted and before procedure)
2020-07-05 19:53:22 +02:00
Mikkel Hjortshoej
d749f5c704
Fix typo
2020-07-02 16:13:49 +02:00
Mikkel Hjortshoej
83f553cd89
Revert to old format and fix : when no file opt specified
2020-07-02 16:11:41 +02:00
Mikkel Hjortshoej
730f9ee0b3
Fix misplaced line number (was wrongly formatted and before procedure)
2020-07-02 15:31:40 +02:00
gingerBill
51e50d3e31
Add intrinsics.type_proc_parameter_type; Add intrinsics.type_proc_return_type
2020-07-01 22:35:38 +01:00
gingerBill
1b2cc739a9
Handle llvm package name edge case for IR mangling
2020-06-30 19:12:53 +01:00
gingerBill
7bdd8094d6
Fix signature_parameter_similar_enough logic
2020-06-30 19:10:24 +01:00
gingerBill
323fc7a6a9
Fix system calls for compiler
2020-06-30 19:04:14 +01:00
gingerBill
92363da58e
Add -show-system-calls; Update runtime for windows_386; Fix some minor bugs
2020-06-30 10:09:58 +01:00
gingerBill
0ea64182f1
Begin work on windows 386
2020-06-29 17:35:33 +01:00
gingerBill
8478b887a5
Add mem.check_zero and mem.check_zero_ptr
2020-06-29 16:17:40 +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
56a52a1d06
Add sync.condition_wait_for_timeout for unix
2020-06-27 12:21:31 +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
9fdebebd28
Add sync.Barrier; Add sync.Blocking_Mutex for unix
2020-06-27 11:23:37 +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
53e1512978
Add more exception handling stuff to sys/windows
2020-06-26 20:42:17 +01:00
gingerBill
b5f9c95ce7
Remove foreign import for -vet
2020-06-26 20:33:47 +01:00
gingerBill
231f91304a
Keep previous behaviour for sync but move to sys/windows
2020-06-26 20:30:33 +01:00
gingerBill
d7b3f3a0e7
Revert sync_windows.odin
2020-06-26 20:22:48 +01:00
gingerBill
bb81d4869f
Update sys/windows
2020-06-26 20:09:31 +01:00
gingerBill
b633a42bc2
Revert channel.odin
2020-06-26 19:16:17 +01:00
gingerBill
6bd05ef5d7
Begin migration from sys/win32 to sys/windows
2020-06-26 19:11:34 +01:00
gingerBill
251a3a690e
Add optional sep parameter to fmt.*print and fmt.*println procedures
2020-06-25 15:00:50 +01:00
gingerBill
f22b014db0
Revert build.bat
2020-06-23 09:20:13 +01:00
gingerBill
a6edcf4f18
Fix ABI typo bug; Add pop_safe and pop_front_safe
2020-06-22 21:03:57 +01:00
gingerBill
2a598aa061
Update sync.Channel
2020-06-22 17:45:01 +01:00
gingerBill
910ab7b3d4
Fix typo
2020-06-22 17:00:35 +01:00
gingerBill
2b27300387
Fix LLVM code gen bug
2020-06-22 16:57:21 +01:00
gingerBill
0db1ebb4e5
-vet sync/channel.odin
2020-06-22 16:01:26 +01:00
gingerBill
0013033f9a
Revert build.bat
2020-06-22 15:58:48 +01:00
gingerBill
f00123742c
Add experimental sync.Channel
2020-06-22 15:54:35 +01:00
gingerBill
509e8b512f
Add time.read_cycle_counter
2020-06-22 15:54:19 +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
fb3aeccd36
Add built-in Maybe
2020-06-22 13:25:19 +01:00