Bug 11385 - calls to functions like close are not wrapped to try again in cases of intermittent interruptions
Summary: calls to functions like close are not wrapped to try again in cases of interm...
Status: NEW
Alias: None
Product: rsync
Classification: Unclassified
Component: core (show other bugs)
Version: 3.1.1
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Wayne Davison
QA Contact: Rsync QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-07-05 06:48 UTC by Brant Gurganus
Modified: 2015-07-05 06:48 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Brant Gurganus 2015-07-05 06:48:54 UTC
main.c calls to close() in lines 873, 878, 928, and 930. close() and similar calls can fail with errno EINTR if interrupted while processing the close call. glibc suggests trying again until it no longer fails with EINTR and provides the TEMP_FAILURE_RETRY macro to centralize the boilerplate of doing so. See http://www.gnu.org/software/libc/manual/html_node/Interrupted-Primitives.html#Interrupted-Primitives