Changelog for unix
package
- Fix
System.Posix.Env.ByteString.getEnvironment
segfaulting on empty environment
-
Fix build if HAVE_ALARM is undefined
-
Add missing autoconf checks for chown/fchdir/fchmod
-
Make TABX constructors and code conditional on underlying #defines
-
Bump bounds to accomodate base-4.18
-
Add semWaitInterruptible
-
semaphore: Teach semThreadWait to use semWait with threaded RTS
-
make the foreign imports of dlopen & dlclose safe
-
do not use capi for dlfcn.h stuff under wasm-wasi
-
Use capi for syscalls that break under musl's handling of 64-bit
time_t
-
Replace
last
withunsnoc
-
Avoid Data.List.{head,tail}
-
Consistently use
throwErrnoPathIf*
-
Fix WASI build
-
Use ByteString for GroupEntry/UserEntry
-
Fix
semTrywait
on darwin -
Fix vanishing environment variables in
System.Posix.Env.ByteString.putEnv
/System.Posix.Env.ByteString.getEnv
-
Add missing
setEnvironment
andclearEnv
toSystem.Posix.Env.ByteString
-
Add support for filepath-1.4.100.0 with
PosixString
variants -
Expose
DirStream
,CDir
,CDirent
andDirStreamOffset
(internal API) -
Add
fdRead
/fdWrite
with ByteString payload and deprecate String basedfdRead
-
Add
clocksPerSec
-
Support wasm32-wasi
-
Implement BaudRate as an
Int
newtype and allow matching via extensible PatternSynonyms -
Added
readDirStreamMaybe
-
Warn when functions are used on unsupported platforms
-
Fix the error handling of
posix_fallocate
-
Export
FileStatus
constructor -
Various documentation and error message improvements
-
Add openDirStreamFd, openFileAt and createFileAt
-
Add accessors for st_blocks and st_blksize
-
Deal with FreeBSD getpwnam_r(3), ... thread safety. On FreeBSD these are not in fact safe for overlapped execution with a sequence of getpwent(3) or getgrent(3) calls when multiple "green" threads share the same underlying OS thread. The *ent(3) calls now run in bound threads or else locks are used to avoid overlapped execution.
-
Make passwd/group FFI functions "safe", these are not low-latency APIs.
-
Drop support for non-thread-safe getpwnam(3) and getpwuid(3). All supported platforms have getpwnam_r(3) and getpwuid_r(3). This was already the case for the getgr(nam|gid) calls.
-
Added terminal output flags to
System.Posix.Terminal.Common.TerminalMode
IXANY, ONLCR, OCRNL, ONOCR, ONLRET, OFDEL, OFILL, NLDLY(NL0,NL1), CRDLY(CR0,CR1,CR2,CR2), TABDLY(TAB0,TAB1,TAB2,TAB3) BSDLY(BS0,BS1), VTDLY(VT0,VT1), FFDLY(FF0,FF1)
-
Add support for
O_NOFOLLOW
,O_CLOEXEC
,O_DIRECTORY
andO_SYNC
(#6, #57) -
Refactor API of
openFd
removingMaybe FileMode
argument, which now must be passed as part ofOpenFileFlags
(e.g.defaultFileFlags { creat = Just mode }
) (#58) -
Remove deprecated
execvpe(3)
legacy-emulation CPP macro -
Generalise return type of
exitImmediately
fromExitCode -> IO ()
to∀a. ExitCode -> IO a
(#130) -
Add
Read
,Show
,Eq
, andOrd
typeclass instances toOpenFileFlags
andOpenMode
. (#75, #141)
-
Bundled with GHC 8.2.1
-
Improve Autoconf detection of
telldir
/seekdir
and define_POSIX_VDISABLE
if missing for Android (#91,#90) -
Fix error message of
createSymbolicLink
(#84)
-
Bundled with GHC 8.0.2
-
Don't use
readdir_r
if its deprecated. -
Add argument documentation for Env modules
-
Bundled with GHC 8.0.1
-
Don't assume non-POSIX
WCOREDUMP(x)
macro exists -
Don't assume existence of
termios(3)
constants beyondB38400
-
Don't assume existence of
ctermid(3)
/tcdrain(3)
-
Change
drainOutput
'stcdrain(3)
into asafe
FFI call -
Turn build error into compile warnings for exotic
struct stat
configurations (GHC #8859) -
Improve detection of
fdatasync(2)
(GHC #11137) -
Drop support for Hugs
-
Drop support for Cygwin (and Windows in general)
-
Bundled with GHC 7.10.1
-
Add support for
base-4.8.0.0
-
Tighten
SafeHaskell
bounds for GHC 7.10+ -
Add haddock comments on
RTLD_NEXT
andRTLD_DEFAULT
-
Deprecate function
haveRtldLocal
-
Fix
getGroupEntryForID/getGroupEntryForName
on Solaris. Solaris uses CPP macros for requiredgetgrgid_r
andgetgrnam_r
functions definition so the fix is to change from C ABI calling convention to C API calling convention -
Fix potential type-mismatch in
telldir
/seekdir
FFI imports -
Use CAPI FFI import for
truncate
to make sure the LFS-version is used. -
executeFile
: FixENOTDIR
error for entries with non-directory components inPATH
(and instead skip over non-directoryPATH
-elements) -
New functions in
System.Posix.Unistd
:fileSynchronise
(akafsync(2)
), andfileSynchroniseDataOnly
(akafdatasync(2)
)
-
New module
System.Posix.Fcntl
providingfileAdvise
(akaposix_fadvise(2)
), andfileAllocate
(akaposix_fallocate(2)
)
-
Fix SIGINFO and SIGWINCH definitions
-
Bundled with GHC 7.8.1
-
Handle
EROFS
andETXTBSY
as (non-exceptional) permission denied infileAccess
-
Fix
getFileStatus
to retrystat(2)
when it returnsEAGAIN
(this can happen on Solaris)
-
New
forkProcessWithUnmask
function in the style offorkIOWithUnmask
-
Change
forkProcess
to inherit the exception masking state of its caller -
Add new
Bool
flag toProcessStatus(Terminated)
constructor indicating whether a core dump occured -
New functions in
System.Posix.Files{,.ByteString}
for operating on high resolution file timestamps:setFdTimesHiRes :: Fd -> POSIXTime -> POSIXTime -> IO () setFileTimesHiRes :: FilePath -> POSIXTime -> POSIXTime -> IO () setSymbolicLinkTimesHiRes :: FilePath -> POSIXTime -> POSIXTime -> IO () touchFd :: Fd -> IO () touchSymbolicLink :: FilePath -> IO ()
-
Export
SignalInfo(..)
andSignalSpecificInfo(..)
as well as the twoHandler
constructorsCatchInfo
andCatchInfoOnce
fromSystem.Posix.Signals
-
Don't export
seekDirStream
andtellDirStream
if the underlyingseekdir(3)
/telldir(3)
system calls are not available (as on Android) -
Fix library detection of
shm*
on openSUSE (#8350) -
Minor documentation fixes/updates
-
Update package to
cabal-version >= 1.10
format
- Bundled with GHC 7.6.2
- Fix memory corruption issue in
putEnv
- Use
pthread_kill(3)
instead ofraise(2)
on OS X too
- Bundled with GHC 7.6.1
- New functions
mkdtemp
andmkstemps
inSystem.Posix.Temp
- New functions
setEnvironment
andcleanEnv
- New functions
accessTimeHiRes
,modificationTimeHiRes
, andstatusChangeTimeHiRes
for accessing high resolution timestamps