os, shm: fcntl()'s third argument is integer, not pointer

All of these uses were attempting to set FD_CLOEXEC, which happens to be
(1<<0). Since flags is going to be aligned in memory, its address is
never going to have the low bit set, so we were never actually setting
what we meant to.

Fixes: xorg/xserver#1114
4 jobs for fcntl-flags in 4 minutes and 30 seconds (queued for 2 seconds)
Status Name Job ID Coverage
  Docker Image
passed debian-buster #6263579


  Build And Test
passed autotools #6263580


passed meson #6263581


passed meson-noglamor #6263582