throwErrnoIfMinus1Retry "tcSetAttr"
(c_tcgetattr (fromIntegral fd) p_tios)
+#ifdef __GLASGOW_HASKELL__
-- Save a copy of termios, if this is a standard file descriptor.
-- These terminal settings are restored in hs_exit().
when (fd <= 2) $ do
saved_tios <- mallocBytes sizeof_termios
copyBytes saved_tios p_tios sizeof_termios
set_saved_termios fd saved_tios
+#endif
-- tcsetattr() when invoked by a background process causes the process
-- to be sent SIGTTOU regardless of whether the process has TOSTOP set
c_sigprocmask const_sig_setmask p_old_sigset nullPtr
return r
+#ifdef __GLASGOW_HASKELL__
foreign import ccall unsafe "HsBase.h __hscore_get_saved_termios"
get_saved_termios :: Int -> IO (Ptr CTermios)
foreign import ccall unsafe "HsBase.h __hscore_set_saved_termios"
set_saved_termios :: Int -> (Ptr CTermios) -> IO ()
+#endif
#else