68 Commits
Author SHA1 Message Date
Andrea Mazzoleni a39fb132f8 Normalize comment style 2026-10-07 09:14:01 +02:00
Andrea Mazzoleni ec71f519b0 Align critical loops to 64 bytes using __align_loops attribute 2026-10-05 14:04:12 +02:00
Andrea Mazzoleni dcb3c7db37 Add CONFIG_NEON/32 defines 2026-10-02 10:43:11 +02:00
Andrea Mazzoleni a7a85a259c Add os_tick_us() and os_tick_ns() monotonic high-resolution timers 2026-10-02 10:38:05 +02:00
Andrea Mazzoleni 70947d4054 Print abort stacktrace to stderr and exit with code 134 on Windows 2026-10-01 08:55:44 +02:00
Andrea Mazzoleni eb75cef0fe Avoid touch failing on missing files deleted or moved since the last sync 2026-09-30 16:07:36 +02:00
Andrea Mazzoleni 099f3c7429 Use DT_* values directly for scan entry types 2026-09-25 09:44:09 +02:00
Andrea Mazzoleni 5f68fda7ae Propagate non-capacity errors during parity split growth 2026-09-24 21:52:42 +02:00
Andrea Mazzoleni fba3f74538 Handle MinGW path conversion failures with ENAMETOOLONG and EILSEQ instead of aborting 2026-09-24 12:57:17 +02:00
Andrea Mazzoleni 819b843163 Add timeout_sec parameter to os_command and os_script interface 2026-09-22 08:15:21 +02:00
Andrea Mazzoleni 7361c104a5 Treat closed Windows pipes as EOF when reading 2026-09-18 10:00:41 +02:00
Andrea Mazzoleni ce699dd9f8 Handle Windows Ctrl+Break as a graceful SnapRAID interruption 2026-09-18 10:00:41 +02:00
Andrea Mazzoleni 4320f0d6b6 Add absolutepath helper for paths that may not exist 2026-09-16 12:24:12 +02:00
Andrea Mazzoleni c1bcd6a24f Migrate Windows smartctl execution from _wpopen to os_popen and direct process spawning 2026-09-14 18:03:35 +02:00
Andrea Mazzoleni 9f48c87dd4 Encapsulate race-safe process slot synchronization and termination in OS layer for Unix and Windows 2026-09-14 15:00:20 +02:00
Andrea Mazzoleni 3bddc127f0 Assign os_script and os_command processes to the global Windows job object 2026-09-14 09:19:19 +02:00
Andrea Mazzoleni b113accaad Fix incorrect st_nlink inheritance from directory in Windows stream scanner 2026-09-07 15:31:39 +02:00
Andrea Mazzoleni a0c7d69067 Expose real operating system process IDs on Windows via os_display_pid() 2026-09-05 11:42:01 +02:00
Andrea Mazzoleni b5a8ef7c33 Terminate entire process group on Unix os_script and os_command timeout to avoid orphaned descendants 2026-09-05 09:45:42 +02:00
Andrea Mazzoleni 11fee73ec4 Separate process waiting from process-reference release to eliminate Windows HANDLE reuse race 2026-09-04 13:31:00 +02:00
Andrea Mazzoleni 27329c6f8c Ensure reliable Windows child termination by using CREATE_SUSPENDED and handling Job Object failures 2026-09-02 19:01:49 +02:00
Andrea Mazzoleni 44575b21b1 Handle partial writes and log unexpected stdin errors in Windows os_command 2026-09-02 11:44:38 +02:00
Andrea Mazzoleni b383cbc4ba Increase NSS credential buffer limits for run_as_user compatibility 2026-09-02 00:18:01 +02:00
Andrea Mazzoleni 05e29ae701 Preserve supplementary groups across bracketed privilege changes 2026-09-02 00:03:59 +02:00
Andrea Mazzoleni 8142ec08a0 Clarify CREATE_NO_WINDOW console behavior in os_term comment 2026-09-01 12:42:33 +02:00
Andrea Mazzoleni dfe0bf19e3 Fix concurrent Windows child handle inheritance with explicit handle lists 2026-09-01 12:37:02 +02:00
Andrea Mazzoleni 586b0a3fd5 Use CLOEXEC pipes for command stdin handling 2026-09-01 12:31:48 +02:00
Andrea Mazzoleni a6ffe53202 Use raw Linux syscalls for post-fork credential changes 2026-09-01 12:31:48 +02:00
Andrea Mazzoleni 40569fff2f Implement O_NOFOLLOW on Windows without following symlinks 2026-08-31 21:34:10 +02:00
Andrea Mazzoleni ef5c5471dc Add sched.h include to unix.h 2026-08-31 10:39:17 +02:00
Andrea Mazzoleni 0416366e2d Handle trailing-slash paths in Windows lstat using handle-based states starting 2026-08-26 09:21:24 +02:00
Andrea Mazzoleni fdce9738e8 Document Windows Ctrl-Break termination semantics in os_term() 2026-08-18 23:33:59 +02:00
Andrea Mazzoleni b3dc7e55c1 Use dedicated scriptcat() for cmd.exe batch parameter serialization in os_script() 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni 576873f0f9 Use tv[1] as mtime in Windows futimens and utimensat emulation 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni 3c88559379 Quote empty arguments in Windows command line generation 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni bd856b456b Fix undefined _linux macro typo to __linux__ 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni 4ec28b4b58 Redirect uncaptured stdio streams to NUL in os_spawn on Windows 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni 87977f28f4 Harden PowerShell execution with safe SearchPathW and os_spawn 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni fd09e72816 Add buffer bounds check before appending wildcard in windows_opendir_find 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni f48e406d52 Convert extended UNC paths to standard UNC format in windows_realpath 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni f9626f6e3e Normalize negative pre-1970 FILETIME timestamps via windows_time2stat 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni caeb3a9d1b Fix PrintNameOffset WCHAR index scaling and add bounds validation in windows_readlink 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni 3c1772d478 Move user and group resolution before fork for async-signal safety 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni fa8913a759 Use monotonic clock in os_tick_ms and os_tick_sec on POSIX systems 2026-08-18 23:33:58 +02:00
Andrea Mazzoleni daf713820e Add os_usleep with bounded sleep loop returning on signal interruption and use it in bandwidth limiter 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni 170759e83c Use direct Linux setresuid/setresgid syscalls for thread-local privilege switching 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni 6b3b60bf87 Add O_CLOEXEC flag to open /dev/null in os_command and os_daemonize 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni 03831386f0 Fix os_wait return type mismatch in UNIX implementation 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni e44fb81da2 Modernize configure.ac 2026-08-18 23:33:57 +02:00
Andrea Mazzoleni 84297fc6dc Replace malloc with alloca in fork child exec path for async-signal safety 2026-08-18 23:33:57 +02:00