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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 02, 2021 at 08:11:50PM +0000, Eric Wong wrote:

> Jeff King <peff@xxxxxxxx> wrote:
> > And so when he gets this error:
> > 
> >   fatal: fsync error on '.git/objects/pack/tmp_pack_NkPgqN': Interrupted system call
> > 
> > presumably we were in fsync() when the signal arrived, and unlike most
> > other platforms, the call needs to be restarted manually (even though we
> > set up the signal with SA_RESTART). I'm not sure if this violates POSIX
> > or not (I couldn't find a definitive answer to the set of interruptible
> > functions in the standard). But either way, the workaround is probably
> > something like:
> 
> "man 3posix fsync" says EINTR is allowed ("manpages-posix-dev"
> package in Debian non-free).

Ah, thanks. Linux's fsync(3) doesn't mention it, and nor does it appear
in the discussion of interruptible calls in signals(7). So I was looking
for a POSIX equivalent of that signals manpage but couldn't find one. :)

> >   #ifdef FSYNC_NEEDS_RESTART
> 
> The wrapper should apply to all platforms.  NFS (and presumably
> other network FSes) can be mounted with interrupts enabled.

I don't mind that, as the wrapper is pretty low-cost (and one less
Makefile knob is nice). If it's widespread, though, I find it curious
that nobody has run into it before now.

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux