irods / irods_client_s3_api

C++ S3 API for iRODS
BSD 3-Clause "New" or "Revised" License
0 stars 5 forks source link

S3 API's handling of SIGPIPE is incorrect for the iRODS connection pool #120

Closed korydraughn closed 1 month ago

korydraughn commented 1 month ago

Bug Report

The S3 API uses Boost.Asio to ignore SIGPIPE. However, the iRODS connection pool (if enabled) is created before SIGPIPE is registered. This results in the connection pool not being able to detect and handle broken socket connections.

To fix this issue, we just need to call std::signal(SIGPIPE, SIG_IGN) before the connection pool is created.