• Fazlul Shahriar's avatar
    cmd/go/internal/lockedfile, os: fix O_CREATE flag on Plan 9 · 78d45607
    Fazlul Shahriar authored
    os.OpenFile was assuming that a failed syscall.Open means the file does
    not exist and it tries to create it. However, syscall.Open may have
    failed for some other reason, such as failing to lock a os.ModeExclusive
    file. We change os.OpenFile to only create the file if the error
    indicates that the file doesn't exist.
    
    Remove skip of TestTransform test, which was failing because sometimes
    syscall.Open would fail due to the file being locked, but the
    syscall.Create would succeed because the file is no longer locked. The
    create was truncating the file.
    
    Fixes #35471
    
    Change-Id: I06583b5f8ac33dc90a51cc4fb64f2d8d9c0c2113
    Reviewed-on: https://go-review.googlesource.com/c/go/+/206299Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
    Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    78d45607
file_plan9.go 14.1 KB