You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Refactor tuple element access in fast_io_dsal
- Updated `get` function signatures in `tuple.h` to return `decltype(auto)` for improved type deduction.
- Enhanced consistency by ensuring `[[nodiscard]]` attribute is applied uniformly across all overloads of `get`.
- Added new overloads for `get` to support retrieval by type, improving usability and flexibility.
- Minor formatting adjustments for better readability in the `forward_as_tuple` function.
* Add tuple application utility and size retrieval in fast_io_dsal
- Introduced `apply` function to facilitate the application of a callable to elements of a tuple.
- Added `tuple_size` function to retrieve the size of a `fast_io::containers::tuple`.
- Implemented helper functions in the `details` namespace for improved code organization and clarity.
* Refactor error handling and improve function signatures across platform headers
- Updated error handling in various platform headers to consistently use `throw_posix_error()` with appropriate error codes.
- Enhanced function signatures in POSIX and platform-specific implementations for clarity and consistency.
- Replaced direct calls to system functions with `noexcept_call` for safer error management.
- Improved readability and maintainability of the code by standardizing error checks and function calls.
* Refactor thread start routine declaration and improve error handling in POSIX headers
- Updated `thread_start_routine` in both NT and Win32 headers to include `FAST_IO_WINSTDCALL` for better calling convention compatibility.
- Enhanced error handling in `get_module_install_path_from_argv0` by checking for a null environment path and throwing an appropriate error.
- Improved readability by initializing pointers to empty and using consistent formatting in the `argv0.h` file.
- Adjusted conditional compilation checks in `posix.h` for clearer handling of open mode flags.
* Refactor `get` function signatures in tuple.h for improved type deduction
- Updated `get` function signatures to return `auto&&` instead of `decltype(auto)` for better type handling.
- Enhanced consistency across all overloads of `get` by applying uniform return types.
- Minor adjustments made to improve readability and maintainability of the code.
* f
* Enhance error handling and improve path resolution in module installation functions
- Added error checks for null pointers and buffer overflows in `get_module_install_path_from_argv0` to ensure robust path resolution.
- Updated `get_module_install_path` to handle `sysctl` errors more accurately.
- Replaced direct system calls with `noexcept_call` for safer error management across various platform headers.
- Improved readability and maintainability by standardizing error handling and function calls.
* Enhance Android logger functionality with noexcept specifier
- Updated function signatures in `android.h` to include `noexcept` for improved safety and performance.
- Refactored operator overloads and logging implementations to ensure exception safety during logging operations.
- Improved code clarity and maintainability by standardizing function signatures across the Android logging interface.
* Enhance error handling and improve function signatures across platform headers
- Added null pointer check in `is_invalid_dos_filename_with_size` to prevent crashes.
- Refactored `zero_copy_transmit64_define` to streamline character transmission logic and improve performance.
- Updated `try_lock` method in `posix_file_lock` to return a boolean indicating lock success.
- Adjusted function signatures in various headers for consistency and clarity, including changes to `NtSetSystemTime` and `RtlAcquirePebLock`.
- Improved error handling in `posix_seek_impl` to throw appropriate errors for overflow conditions.
* Enhance POSIX and Win32 platform headers with improved error handling and function signatures
- Updated `sys_mmap` to use `long` for return type and improved error handling for memory mapping.
- Refactored `open_socket_impl` to include checks for socket open modes and set appropriate flags for non-blocking and close-on-exec behavior.
- Introduced `to_win32_page_protect` function for better handling of file map attributes in Win32.
- Enhanced error handling in `create_file_mapping_impl` and random number generation functions to account for API behavior as per MSDN documentation.
* f
* f2
* f3
* Refactor timestamp handling in nt_family_clock_settime for improved type safety
- Changed the type of `tms` from `uint_least64_t` to `int_least64_t` to ensure proper handling of negative values.
- Updated calculations for `tms` to maintain consistency and prevent potential overflow issues.
* Update Win32 linker headers to correct function signatures and improve consistency
- Adjusted function signatures in `msvc_linker_32_i686.h`, `msvc_linker_32.h`, `msvc_linker_64.h`, and `msvc_linker_arm64ec.h` to ensure proper handling of parameters and return types.
- Enhanced consistency across linker headers by standardizing the naming conventions for function aliases.
- Improved clarity and maintainability of the code by ensuring uniformity in the handling of alternate names for Windows API functions.
* Refactor append methods in process argument and environment structures to return references
- Updated `append` methods in `basic_win32_process_args`, `basic_win32_process_envs`, and `posix_process_args` to return a reference to the current object, enhancing method chaining capabilities.
- Improved code clarity and consistency across process argument and environment handling.
* Fix path resizing logic in POSIX process header for accurate string length calculation
- Updated the resizing logic in `posix.h` to correctly account for the null terminator when determining the length of the string.
- Added a trailing slash to the returned path string to ensure proper formatting when appending filenames.
* Add posix_vfork option and refactor process execution methods for POSIX
- Introduced a new `posix_vfork` option in `option.h` to support process creation using vfork, which has specific limitations on parameter modifications.
- Refactored process execution methods in `posix.h` to utilize a common `fork_execveat_impl` function, streamlining the handling of process creation based on the selected mode.
- Enhanced clarity and maintainability of the code by consolidating vfork and pipefork logic into unified implementations.
* Refactor process execution logic in posix.h to improve clarity and maintainability
- Added conditional compilation for session management in the vfork_and_execveat function, enhancing the handling of process creation modes.
- Improved code organization by encapsulating session management logic within preprocessor directives, allowing for easier modifications in the future.
* Update vfork_and_execveat function to include unused parameter for process mode
- Modified the vfork_and_execveat function signature to add [[maybe_unused]] for the process_mode parameter, improving code clarity and indicating that the parameter may not be utilized in all contexts.
* Enhance process_mode enumeration and update posix_execveat function
- Changed the process_mode enumeration to a scoped enum class for better type safety and clarity.
- Added a new 'follow' option to the process_mode enum to allow symbolic links to be followed during process execution.
- Updated the posix_execveat function to accept the process_mode parameter, modifying behavior based on the follow option.
- Refactored flags handling in posix_execveat and vfork_and_execveat functions to improve clarity and maintainability.
* Refactor process creation logic in nt.h and update process_mode options
- Introduced a new flag in process_mode to control the appending of paths to argv0, enhancing process creation flexibility.
- Updated the nt_6x_process_create_impl and nt_create_process_overloads functions to utilize the new argv0_no_path_append flag for improved argument handling.
- Refactored open_mode handling in process creation functions to accommodate the follow option, ensuring consistent behavior across different modes.
- Enhanced clarity and maintainability of the code by organizing process parameter initialization and handling logic.
* nt_process_args
* Enhance argument handling in nt_6x_process_create_impl by adding quotation marks around paths
- Updated the process creation logic to include double quotation marks around the image path and process parameters when appending to argv0.
- Improved clarity in the handling of DOS and NT paths by ensuring proper formatting during argument construction.
* Refactor environment handling in posix_process_args for improved clarity
- Updated the `cstr_guard` return logic to enhance readability by removing unnecessary return statements.
- Introduced a new namespace `posix` to encapsulate platform-specific environment variable handling, including `_NSGetEnviron` for Darwin and `environ` for other platforms.
- Streamlined the `get_envs` function to utilize the new `posix` namespace, improving code organization and maintainability.
* Fix argument initialization in args_envs.cc by updating process argument structure
- Changed the initialization of process arguments from a string to a native__process_args structure for improved clarity and consistency in argument handling.
- This update enhances the readability of the code and aligns with recent refactoring efforts in process management.
* Refactor posix namespace in arg_env.h to improve environment variable handling
- Moved platform-specific environment variable declarations into the posix namespace for better organization and clarity.
- Updated references in the get_envs function to utilize the new namespace, enhancing code maintainability and readability.
- Removed redundant declarations to streamline the code structure.
* f
* f
* Update process argument handling in process.cc and nt.h
- Changed the initialization of process arguments in process.cc to use native_process_args for improved clarity.
- Updated constructor signatures in nt.h to remove default arguments for process_args_with_argv0, enhancing consistency and readability across process creation functions.
* Add args_with_argv0_t structure and update process constructors
- Introduced a new `args_with_argv0_t` structure to encapsulate argument handling with `argv0`.
- Updated constructors in `nt.h` and `posix.h` to accept `args_with_argv0_t`, enhancing consistency in process creation across platforms.
- Improved clarity in argument handling by ensuring all relevant constructors utilize the new structure, streamlining the process initialization logic.
* Refactor process constructors in nt.h, posix.h, and win32.h to standardize argument handling
- Updated constructors across nt.h, posix.h, and win32.h to use a consistent default for `process_mode`, specifically `argv0_no_path_append`.
- Enhanced clarity in argument handling by ensuring all relevant constructors utilize the new default, streamlining process initialization logic.
- Improved maintainability and readability of the code by aligning constructor signatures across different platforms.
* Refactor argument handling in win32.h for consistency and clarity
- Standardized the usage of `char_literal_v` in the argument construction process by removing unnecessary spaces in template syntax.
- Enhanced readability and maintainability of the code by ensuring consistent formatting across argument handling in the `win32_winnt_process_create_from_handle_imp` function.
* Refactor error handling and object duplication in win32.h
- Updated the `throw_win32_error` function call to remove the status argument for improved clarity in error handling.
- Modified the `win32_duplicate_object_std` function to use a boolean for the `inherit` parameter, enhancing readability and consistency in handle duplication logic.
* f
* k
* Refactor thread implementation in nt.h and impl.h for clarity and consistency
- Simplified the namespace structure for `fast_io::win32::nt`, improving organization.
- Updated thread-related functions and constructors to use `inline constexpr` for better performance and clarity.
- Enhanced error handling in sleep functions to ensure proper validation of input parameters.
- Streamlined the usage of `nt_thread` and `this_thread` to improve readability and maintainability across the codebase.
* fix thread
* Enhance thread handling and error management in nt and win32 headers
- Updated `RtlCreateUserThread` signature to accept a function pointer for improved flexibility.
- Refined error handling in thread creation and management functions to ensure proper resource cleanup on failure.
- Standardized the use of `inline constexpr` for thread-related functions to enhance performance and clarity.
- Improved sleep functions to validate input parameters and handle edge cases more effectively.
- Streamlined namespace usage and organization for better code maintainability.
* Update RtlCreateUserThread signatures across linker headers for consistency
- Modified the `RtlCreateUserThread` linker comments in multiple platform-specific headers to ensure uniformity in function signature representation.
- Replaced `std::ranges::destroy_at` with `std::destroy_at` in thread management code for improved clarity and performance.
* Add documentation comment to thread_start_routine in win32.h
- Included a comment in the `thread_start_routine` function to clarify that the API function is called directly and that any CRT-specific processing occurs in `DllMain DLL_THREAD_ATTACH`.
- This enhancement improves code readability and understanding of the threading implementation.
* t1
* Refactor threading implementation for POSIX and Windows
- Updated the threading example to enable functionality across all platforms by removing conditional compilation for non-Windows systems.
- Enhanced error handling in mutex locking by throwing specific POSIX errors.
- Introduced a new `pthread.h` file to encapsulate POSIX thread management, improving organization and maintainability.
- Refined memory management in thread-related classes to utilize a consistent allocator pattern.
- Removed the obsolete `posix.h` file to streamline the threading interface.
0 commit comments