-
Notifications
You must be signed in to change notification settings - Fork 17.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
x/sys/unix: missing some AIX syscalls, notably Flock
#64669
Comments
cc @golang/aix |
I see these CLs related to the removal of the Flock syscall on AIX: |
Note that per https://www.ibm.com/docs/en/aix/7.3?topic=l-lockfx-lockf-flock-lockf64-subroutine (emphasis added):
Unfortunately, there isn't enough detail in that documentation for me to tell whether the “subtle differences” are just the restrictions on the file mode, or other behaviors as well. (For example, there may be other differences regarding the behavior of locks across With more documentation it might be possible to provide a usable AIX There is an open proposal to export the See previously: |
@ayappanec Can you provide some input on this issue? |
Let me check with AIX core team if we can get more details about this flock subroutine. |
@ayappanec have you heard back from the AIX team? |
I haven't heard anything from them yet, as most of them are on vacation. |
Sorry for the tag, @bcmills, but are the details shared by @ayappanec enough to re-instate a wrapper of |
@ayappanec, note that other BSD implementations generally have a proper I don't know where that NetBSD |
Do the same concerns apply to zOS implementation where it's also a wrapper around https://github.com/golang/sys/blob/master/unix%2Fsyscall_zos_s390x.go#L1276-L1307 |
Yes, they do. That wrapper probably should not have been added without an explicit proposal, especially given that it was added well after #24684 and #29084 were decided (CC @billotosyr, @tklauser, @ianlancetaylor). Either way, note that |
Flock
Flock
Go version
1.21.5
What operating system and processor architecture are you using (
go env
)?What did you do?
Trying to (cross-)compile Caddy for AIX with the following command
What did you expect to see?
Successful compilation and build
What did you see instead?
The compilation fails with errors about
unix.Flock
not existing:The error points to the absence of
Flock
syscall for AIX in thegolang.org/x/sys/unix
package. I searched the respective directory within the package, and indeed the function is missing. AIX documentation documents the syscallFlock
exists (see: flock.h File, and lockfx, lockf, flock, or lockf64 Subroutine). I understand the syscalls definitions in the package are generated, so whatever source or script used to generate them is resulting in the gap.As of now, we're only aware of the
Flock
function missing because it directly impacts us (see caddyserver/caddy#5970), but others may be missing and subject to verification.The text was updated successfully, but these errors were encountered: