Commit Graph

7492 Commits

Author SHA1 Message Date
flysand7
b7afbd6d57 Suggestion fixes 2025-01-21 11:15:00 +11:00
Laytan
68653081be Merge pull request #4732 from zen3ger/os2-process-incorrect-working-dir
os/os2: Properly update CWD on Linux when using _process_start()
2025-01-21 00:07:32 +01:00
Roland Kovacs
f6ead2e777 os/os2: Linux _process_start() write back error on fchdir failure 2025-01-20 23:31:13 +01:00
Roland Kovacs
ac30d36206 os/os2: Properly update CWD on Linux when using _process_start()
The `dir_fd` argument to `execveat()` is not for setting the current working
directory. It is used to resolve relative executable paths, hence explicit
`chdir/fchdir` call is required to set CWD.
2025-01-20 22:34:49 +01:00
Laytan Laats
bf58107402 os/os2: bring Linux to other impls standards by looping writes and maxing one shot RW sizes 2025-01-20 20:15:03 +01:00
Laytan Laats
a5f3c1b849 container/queue: fix init_with_contents
Fixes #4729
2025-01-20 19:51:46 +01:00
gingerBill
70257c846e Merge pull request #4707 from samuelgozi/add-Foundation-bindings
Added Foundation bindings
2025-01-20 14:42:27 +00:00
dozn
dfd826ed86 Fix Times Which Support DST on Windows 2025-01-20 03:57:36 -08:00
jason
27998e0d21 os2/heap_linux point to runtime._heap_allocator_proc 2025-01-19 06:05:55 -05:00
Laytan Laats
5622fb583c math/rand: add @(require_results) to create 2025-01-18 22:52:13 +01:00
Laytan
6f24eb87c0 Merge pull request #4697 from JamesDSource/master
Allow captures in gfind and gmatch to be used in-loop
2025-01-18 22:36:19 +01:00
Laytan Laats
e4892f1bb2 os/os2: wasi target support 2025-01-18 22:23:44 +01:00
Samuel Elgozi
0f12618642 fix incorrect use of Bool 2025-01-18 21:08:54 +02:00
gingerBill
328d70e244 Merge pull request #4696 from alektron/ArenaBug
Non-zeroed memory after Arena free
2025-01-17 14:20:28 +00:00
gingerBill
ed18f539c7 Merge pull request #4698 from 4teapo/mem-additions
Add SoA make/delete to core:mem
2025-01-17 14:20:02 +00:00
Samuel Elgozi
3fb766f98d updated to meet formatting style 2025-01-17 13:43:34 +02:00
Samuel Elgozi
19d6c01f0f Added Foundation bindings 2025-01-17 10:42:32 +02:00
flysand7
9da144157e [sync]: Fix typos in comments and remove my note. 2025-01-16 19:33:09 +03:00
James Duran
13640620ce Fix captures not begin zeroed when haystack length is 0 2025-01-15 15:56:40 -08:00
teapo
4895065afb Add SoA make/delete to core:mem 2025-01-15 20:16:57 +01:00
James Duran
a7971f9f6f Allow captures in gfind and gmatch to be used in-loop 2025-01-15 11:02:46 -08:00
alektron
a0c20023fc Fix: Issue with non-zeroed memory after arena_temp_and;
Fix: total_used field of growing Arena was not decremented correctly in arena_temp_end;
2025-01-15 17:59:30 +01:00
Laytan Laats
9d4fa39daa add ensure and ensuref to fmt and log, fix some inconsistencies 2025-01-13 20:33:49 +01:00
gingerBill
48a7ed01f8 Merge pull request #4675 from jasonKercher/os2-dir-linux
Implement os2 dir linux
2025-01-13 11:04:55 +00:00
Jeroen van Rijn
600e0ebed0 Fix stray space vs. tab 2025-01-12 12:13:29 +01:00
Christiano Haesbaert
5699c533c6 Add net.dial_tcp_from_host{_or_endpoint} and unify them
The main motivation for this is to have sinergy with flags parsing, currently
flags for a sockaddr returns a net.Host_Or_Endpoint, but we can't just dial
from it since there isn't a variant.

Consider the following:

```
Options :: struct {
	target: net.Host_Or_Endpoint `args:"pos=0,required" usage:"host:port"`,
}

before :: proc() -> (sock: net.TCP_Socket, err: net.Network_Error) {
	opt: Options

	flags.parse_or_exit(&opt, os.args)
	switch t in opt.target {
	case net.Host:
		sock, err = net.dial_tcp(t.hostname, t.port)
	case net.Endpoint:
		sock, err = net.dial_tcp(t)
	}
	return
}

after :: proc() -> (sock: net.TCP_Socket, err: net.Network_Error) {
	opt: Options

	flags.parse_or_exit(&opt, os.args)
	sock, err = net.dial_tcp(opt.target)
	return
}

```

For completion, add dial_tcp_from_host() and define the upper functions in terms
of the newly added ones, cuts one repeated block, now:

from_hostname_and_port_string is parse + from_host_or_endpoint
from_hostname_with_port_override is parse + override + from_host_or_endpoint
from_host is to_endpoint + from_endpoint
from_host_or_endpoint is from_endpoint or from_host
2025-01-12 02:41:35 +01:00
Christiano Haesbaert
c51df72f1a Make sure we don't leak os.args. Fixes #1633.
os.args is never freed, while this is an insignificant leak, it is a bit
annoying as it makes valgrind complain:

==234270== Memcheck, a memory error detector
==234270== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==234270== Using Valgrind-3.24.0 and LibVEX; rerun with -h for copyright info
==234270== Command: ./wc /tmp/mulumulu
==234270==
       1       8      58 /tmp/mulumulu
==234270==
==234270== HEAP SUMMARY:
==234270==     in use at exit: 47 bytes in 1 blocks
==234270==   total heap usage: 5 allocs, 4 frees, 4,195,875 bytes allocated
==234270==
==234270== 47 bytes in 1 blocks are possibly lost in loss record 1 of 1
==234270==    at 0x484BC13: calloc (vg_replace_malloc.c:1675)
==234270==    by 0x402E49: runtime._heap_alloc-769 (in /d/learn-odin/wc/wc)
==234270==    by 0x40A8D7: runtime.heap_alloc (in /d/learn-odin/wc/wc)
==234270==    by 0x436E9D: runtime.heap_allocator_proc.aligned_alloc-0 (in /d/learn-odin/wc/wc)
==234270==    by 0x4022DC: runtime.heap_allocator_proc (in /d/learn-odin/wc/wc)
==234270==    by 0x4165E0: runtime.make_aligned-22560 (in /d/learn-odin/wc/wc)
==234270==    by 0x41F6D0: runtime.make_slice-22340 (in /d/learn-odin/wc/wc)
==234270==    by 0x40156B: os._alloc_command_line_arguments-4679 (in /d/learn-odin/wc/wc)
==234270==    by 0x4011AF: __$startup_runtime (in /d/learn-odin/wc/wc)
==234270==    by 0x406F17: main (in /d/learn-odin/wc/wc)
==234270==
==234270== LEAK SUMMARY:
==234270==    definitely lost: 0 bytes in 0 blocks
==234270==    indirectly lost: 0 bytes in 0 blocks
==234270==      possibly lost: 47 bytes in 1 blocks
==234270==    still reachable: 0 bytes in 0 blocks
==234270==         suppressed: 0 bytes in 0 blocks
==234270==
==234270== For lists of detected and suppressed errors, rerun with: -s
==234270== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

With the fix the leak is gone, tested on linux only.

While here, also make _alloc_command_line_arguments() private.
2025-01-11 21:55:09 +01:00
jason
c11dccf210 make -vet happy 2025-01-10 20:59:48 -05:00
jason
fa7ef28acf Implement _read_directory_iterator in os2.
Also, fix minor bug in linux.dirent_name.
2025-01-10 20:54:09 -05:00
Laytan
cd93e2f6f8 Merge pull request #4672 from shizeeg/master
add os.exists() to FreeBSD
2025-01-11 01:03:36 +01:00
Laytan Laats
e3c0cc9dfc time: add haiku 2025-01-11 00:18:36 +01:00
avanspector
cc50fab8e3 Merge branch 'odin-lang:master' into master 2025-01-10 22:47:44 +01:00
avanspector
ab7b5a5445 Haiku: change uintptr to uint where appropriate 2025-01-10 15:14:03 +01:00
gingerBill
328d893cb5 #unroll(N) for 2025-01-10 12:22:18 +00:00
avanspector
c686728184 Update dir_unix.odin 2025-01-10 07:15:44 +01:00
avanspector
0a985f5d02 Haiku: small fixes across core 2025-01-10 07:07:40 +01:00
avanspector
9868c8292b Merge branch 'master' of https://github.com/avanspector/Odin 2025-01-10 06:42:42 +01:00
avanspector
5d3a069e7a Haiku: more posix 2025-01-10 06:40:29 +01:00
avanspector
a6dccf5e98 Haiku: fix futex bug 2025-01-10 06:28:57 +01:00
avanspector
1dc5753a0f Merge branch 'odin-lang:master' into master 2025-01-10 06:26:36 +01:00
sh!zeeg
509da8e632 add os.exists() to FreeBSD 2025-01-10 05:56:56 +03:00
Laytan Laats
1511162b0a webgpu: fix cstring as parameter not loading correctly 2025-01-09 17:29:31 +01:00
Laytan Laats
16e3abfe82 strings: use map_entry 2025-01-08 22:20:43 +01:00
gingerBill
30bb2250c7 Merge pull request #4474 from tf2spi/4407-mdei-pack
Pack MDEI struct to fix issue #4407
2025-01-08 16:41:47 +00:00
gingerBill
2a29322c91 Merge pull request #4605 from karl-zylinski/tracking-allocator-bad-free-default-to-crash
Make tracking allocator default to crashing on a bad free instead of adding to bad_free_array
2025-01-08 16:24:20 +00:00
gingerBill
bc2e57723b Merge pull request #4665 from GrumpyLion/add_some_missing_win_functions
Add SetWindowSubclass and RegisterHotKey functions
2025-01-08 16:23:40 +00:00
flysand7
dfe3073cef [simd] Fixes to inputs/result/example/output sections & grmamar fixes 2025-01-08 16:47:12 +03:00
Lion Schitik
ab3e2340c2 review 2025-01-08 12:38:28 +01:00
david_cauchi
9a68eb401d Fix name of RI_MOUSE_LEFT_BUTTON_DOWN containing S at the end 2025-01-08 15:06:17 +11:00
Lion Schitik
cdef798fbc Add SetWindowSubclass and RegisterHotKey functions 2025-01-08 01:47:36 +01:00