swoole 6.2.1

Event-driven asynchronous and concurrent networking engine with high performance for PHP.


Event-driven asynchronous and concurrent networking engine with high performance for PHP.
- event-driven
- coroutine
- asynchronous non-blocking
- multi-thread reactor
- multi-process worker
- multi-protocol
- millisecond timer
- built-in tcp/http/websocket/http2 server
- coroutine tcp/http/websocket client
- coroutine read/write file system
- coroutine dns lookup
- support IPv4/IPv6/UnixSocket/TCP/UDP
- support SSL/TLS encrypted transmission

License: Apache2.0

Changes

- Fix timeout configuration error: Fixed an issue where the write timeout incorrectly reused the read timeout when `max_idle_time` was set.
- Fix async reload warning: Eliminated invalid warnings triggered by the exit of old processes during asynchronous reloads.
- Refactor process management: Refactored the server process management logic.
- Optimize fork failure handling: Improved the handling mechanism after child process `fork` failures. Added retry logic that waits 1 second before each retry to avoid generating excessive error logs.
- Fix data race issue: Changed the `closed` field in the underlying `Connection` struct to an atomic operation, eliminating a potential data race risk.
- Fix integer overflow: Fixed an integer overflow issue in the Redis server.
- Replace communication mechanism: Replaced the communication method between child threads and the main thread in the thread pool from `Pipe` to `UnixSocket`.
- Support curl coroutine mode: In `curl` coroutine scenarios, file upload and download operations have been replaced with coroutine implementations.
- Optimize blocking function detection: Enhanced the `tracker observer`'s ability to detect blocking functions.
- Adapt unit tests: Updated the IP address lookup functionality in unit tests for different operating system families.
- Add PDO asynchronous method: Added the asynchronous method `PQsendClosePrepared` for `pdo_pgsql` to close existing prepared statements.
- Database connection pool optimization: Added recognition and handling for various error messages indicating that database connections have been disconnected and require reconnection.