-
Fixed the issue in
SWOOLE_THREADmode whereSwoole\Servercould not start if theset()method was not called. -
Fixed a NULL pointer dereference when querying port attributes during server shutdown due to a
NULLListenPortpointer. -
Fixed an issue where a
HookedTLSstream completes the handshake inSocket::connect(). When this call fails or is canceled, the stream transport layer should return failure directly instead of attempting to enable encryption again. -
Fixed an issue where the coroutine
HTTPserver still returned success when the protocol setting was rejected oracceptfailed. -
Fixed an issue where
HTTPcompression used the wrong data format when returningdeflateencoding. -
Fixed an issue where, when native
hookwas not enabled, destroying a nativeCurlHandledid not hand the object destruction work back toext-curl, resulting in incorrect destruction logic. -
Fixed an issue in
cURL multiunder theCURL_POLL_INOUTstate where the event mask for "both readable and writable" was not correctly restored, causingHTTP/2duplex transmission to be repeatedly woken up when blocked by flow control, forming a busy loop. -
Fixed the lack of timeout support for atomic
wait/wakeupon theWindowsplatform. -
Fixed an issue where, after enabling
send_yield, the peer closing the connection prevented the coroutine from being woken up, causing a coroutine leak. -
修复了
SWOOLE_THREAD模式下,Swoole\Server如果没调用 set() 方法,程序就启动不了的问题。 -
修复在关闭服务器时,因
ListenPort指针为NULL导致查询端口属性时发生空指针解引用(NULL pointer dereference)的问题。 -
修复被
Hook的TLS流在Socket::connect()中完成握手。当这个调用失败或被取消时,流传输层应该直接返回失败,而不是再次尝试启用加密的问题。 -
修复了协程
HTTP服务器在协议设置被拒绝或accept失败时仍返回成功的问题。 -
修复了
HTTP压缩在返回deflate编码时用错了数据格式的问题。 -
修复在未启用原生
hook的情况下,销毁一个原生CurlHandle时,底层没有把对象释放工作交回给ext-curl,导致释放逻辑不正确的问题。 -
修复
cURL multi在CURL_POLL_INOUT状态下,没有正确恢复“同时可读可写”的事件掩码,导致HTTP/2双向传输(duplex)在流控阻塞时反复被唤醒,形成忙循环。 -
修复在
Windows平台下原子操作(Atomic)的wait/wakeup超时支持缺失问题。 -
修复开启
send_yield后,对端关闭连接导致协程无法被唤醒而发生协程泄露的问题。