Changes for version 0.571 - 2026-06-22
- Requirement Changes
- Require SPVM 0.990190.
- Require SPVM::Errno 0.098.
- Require SPVM::Math 1.010.
- Require SPVM::Resource::SocketUtil 1.006.
- New Features
- Add Sys::Process#spawnvp_nowait method.
- Add many functions to spvm_sys_windows.c and use them.
- Support waitpid in Windows.
- Changes
- Restore Sys::Socket#inet_ntoa in Windows.
- Use inet_pton to implement Sys::Socket#inet_aton.
- Test Improvement
- Clean up tests.
- Add many tests.
- Add tests:Open same file twice as write mode.
- Add tests:Open same file twice as read mode.
- Add same file tests for Sys::IO#open.
- Enable ualarm tests in asan on linux.
- Fix tests
- Skip some clock_gettime tests for mac.
- Improve ualarm tests. Ignore SIGALRM.
- Fix tests for Sys::Time#times. Fix #115.
- Internal Changes
- Remove private methods in Sys class for Cwd.
- Exception Handling Improvement
- Improve exception handling in spvm_sys_windows.c
- Incompatible Changes
- Change declarations for Windows encoding conversion function for UTF-8 and WCHAR.
- SPVM_OBJ* spvm_sys_windows_utf8_to_win_wchar(SPVM_ENV* env, SPVM_VALUE* stack, const char* utf8_string, int32_t* error_id, const char* func_name, const char* file, int32_t line);
- const WCHAR* spvm_sys_windows_utf8_to_win_wchar_wchars(SPVM_ENV* env, SPVM_VALUE* stack, const char* utf8_string, int32_t* error_id, const char* func_name, const char* file, int32_t line);
- SPVM_OBJ* spvm_sys_windows_win_wchar_to_utf8(SPVM_ENV* env, SPVM_VALUE* stack, const WCHAR* win_wchar_string, int32_t* error_id, const char* func_name, const char* file, int32_t line);
- const char* spvm_sys_windows_win_wchar_to_utf8_chars(SPVM_ENV* env, SPVM_VALUE* stack, const WCHAR* win_wchar_string, int32_t* error_id, const char* func_name, const char* file, int32_t line);
- void spvm_sys_windows_set_errno_from_windows_last_error(int default_errno);
- Remove Sys::Process#execv and add Sys::Process#execvp and Sys#exec use execvp.
- Change Sys#exec arguments.
- static method exec : void ($program : string, $args : string[] = undef) {
- static method exec : void ($args : string[], $options : object[] = undef) {
- Change declarations for Windows encoding conversion function for UTF-8 and WCHAR.
Documentation
Modules
System Calls for File IO, Sockets, Time, Process, Signals, Users
Environemnt Variables
IO System Call
Constant values for File IO.
DIR structure in the C language.
struct dirent in the C language
FILE structure in the C language.
struct flock in the C language
BSD bsd_glob Porting
struct stat in the C language
The ioctl System Call
Constant Values for The ioctl Function.
OS Information
Poll System Call
Constant Values for The poll System Call
Array of struct pollfd in the C language
Process System Calls
Constant Values for Process Manipulation
Resource for Windows
Select System Call
Constant Values for Select.
fd_set structure in C Language
Signal System Calls
Signal Constant Values
Signal Handler
System Calls for Sockets
struct addrinfo in the C language
Linked List of struct addrinfo in the C language
Sockets Constant Values
Socket Error Numbers
Invalid Network address Socket Error
struct in6_addr in the C language
struct in_addr in the C language
Base Class of struct in_addr family.
struct ip_mreq in the C language
struct ip_mreq_source in the C language
struct ipv6_mreq in the C language
struct sockaddr in the C language
struct sockaddr_in in the C language
struct sockaddr_in6 in the C language
struct sockaddr_storage in the C language
struct sockaddr_un in the C language
Socket Utilities
System Calls for Time Manipulation
Constant Values for Time
struct itimerval in the C language
struct timespec in the C language
struct timeval in the C language
struct tm in the C language
struct tms in the C language
Time Utilities
struct utimbuf in the C language
User/Group System Calls
Entry of Group Database
Entry of Password Database
Test Utilities for SPVM::Sys::Socket
Servers for tests for SPVM::Sys::Socket
Server Manager Base Class for Tests for Sockets.
Server Manager for tests for internet domain sockets
Server Manager for tests for UNIX Domain Sockets
Socket Utility Functions for SPVM::Sys::Socket