Fix `membarrier` usage on FreeBSD (#60389)
`membarrier` on FreeBSD takes three arguments but we're only giving it
two, which failed to compile. It can take three on Linux too, so let's
give it three. Our FreeBSD CI runs 13.4, but `membarrier` was introduced
in 14.1, so none of the code guarded by `HAVE_MEMBARRIER_SYSCALL` is
compiled on CI; I observed the build failure locally on 14.3.