mirror of https://github.com/voidlizard/hbs2
macos fsync issues
This commit is contained in:
parent
3508ad1258
commit
96726cf287
|
@ -7,17 +7,22 @@ import Foreign.C.Types
|
|||
import System.Posix.Types
|
||||
import System.Posix.Unistd (fileSynchronise)
|
||||
|
||||
foreign import capi unsafe "unistd.h fsync"
|
||||
c_fsync :: CInt -> IO CInt
|
||||
#ifdef darwin_HOST_OS
|
||||
|
||||
#if defined(darwin_HOST_OS)
|
||||
foreign import capi unsafe "fcntl.h fcntl"
|
||||
c_fcntl :: CInt -> CInt -> CInt -> IO CInt
|
||||
c_fcntl_raw :: CInt -> CInt -> CInt -> IO CInt
|
||||
|
||||
foreign import capi unsafe "fcntl.h value F_FULLFSYNC"
|
||||
f_FULLFSYNC :: CInt
|
||||
|
||||
c_fcntl :: CInt -> CInt -> CInt -> IO ()
|
||||
c_fcntl fd cmd arg = do
|
||||
_ <- c_fcntl_raw fd cmd arg
|
||||
pure ()
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
fileSynchronisePortable :: Fd -> IO ()
|
||||
fileSynchronisePortable fd@(Fd fdi) = do
|
||||
#if defined(darwin_HOST_OS)
|
||||
|
|
Loading…
Reference in New Issue