Jens-G opened a new pull request, #3932: URL: https://github.com/apache/thrift/pull/3932
`thrift_framed_transport_flush()` ignored the results of the underlying transport's `write()` and `flush()` and returned `TRUE`. A frame that never reached the underlying transport was reported as sent, and when both calls failed, the second set a `GError` over the first. It now returns `FALSE` when either call fails, and does not flush after a failed write. ### How it was checked `lib/c_glib/test/testframedtransport.c` gets a test transport whose `write()` or `flush()` fails on request, and two tests that use it. On master `flush()` returns `TRUE` in both cases, and both tests fail. With this change it returns `FALSE` with the inner error set, and after a failed write the inner transport is not flushed. The c_glib ctest suite passes, 45 of 45, built with zlib (`WITH_CPP=ON -DBUILD_CPP=OFF`, because zlib is only detected with C++ enabled, THRIFT-6224). No CI job runs the c_glib tests yet; THRIFT-6361 is about adding one. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
