Thread (14 messages) 14 messages, 5 authors, 2021-06-03

Re: [ANNOUNCE] Git v2.32.0-rc3 - t5300 Still Broken on NonStop ia64/x86

flat view

From: Jeff King <hidden>
Date: 2021-06-02 20:15:48

On Wed, Jun 02, 2021 at 04:11:14PM -0400, Taylor Blau wrote:
Subject: [PATCH] compat: introduce git_fsync_with_restart()

Some platforms, like NonStop do not automatically restart fsync() when
interrupted by a signal, even when that signal is setup with SA_RESTART.

This can lead to test breakage, e.g., where "--progress" is used, thus
SIGALRM is sent often, and can interrupt an fsync() syscall.

Add a Makefile knob FSYNC_NEEDS_RESTART to replace fsync() with one that
gracefully handles getting EINTR.

Reported-by: Randall S. Becker <redacted>
Signed-off-by: Jeff King <redacted>
Probably Helped-by might be more appropriate. But regardless, I
definitely give my S-o-B for anything I contributed.
 Makefile          |  8 ++++++++
 compat/fsync.c    | 10 ++++++++++
 git-compat-util.h |  6 ++++++
 3 files changed, 24 insertions(+)
 create mode 100644 compat/fsync.c
This looks as I'd expect. But after seeing Eric's response, we perhaps
want to do away with the knob entirely.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help