1. 26 Nov, 2001 2 commits
  2. 26 Sep, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-09-26 10:35:41 by simonmar] · 0ea9ecaf
      simonmar authored
      A failure while trying to set O_NONBLOCK on a file descriptor should
      be a non-fatal error.  It turns out that on FreeBSD it is an error
      (ENODEV) to try to set O_NONBLOCK on /dev/null.
  3. 23 Aug, 2001 1 commit
    • sewardj's avatar
      [project @ 2001-08-23 10:36:50 by sewardj] · cff3ca90
      sewardj authored
      Globally-uniquify the names of some _wrap functions so that the
      previously-undetected global namespace clashes don't cause an
      assertion failure in Hash.c when compiled -DDEBUG when starting GHCi
      with various hslibs packages.
  4. 20 Aug, 2001 1 commit
    • sof's avatar
      [project @ 2001-08-20 14:57:42 by sof] · 63ea1af6
      sof authored
      sigemptyset: may be implemented as a macro on some plats,
      so wrap it up in an inline function to get the C types
      right. (Thomas Nordin, using OpenBSD, spotted this one).
  5. 14 Aug, 2001 1 commit
    • sewardj's avatar
      [project @ 2001-08-14 13:40:07 by sewardj] · bc5c8021
      sewardj authored
      Change the story about POSIX headers in C compilation.
      Until now, all C code in the RTS and library cbits has by default been
      compiled with settings for POSIXness enabled, that is:
         #define _POSIX_SOURCE   1
         #define _POSIX_C_SOURCE 199309L
         #define _ISOC9X_SOURCE
      If you wanted to negate this, you'd have to define NON_POSIX_SOURCE
      before including headers.
      This scheme has some bad effects:
      * It means that ccall-unfoldings exported via interfaces from a
        module compiled with -DNON_POSIX_SOURCE may not compile when
        imported into a module which does not -DNON_POSIX_SOURCE.
      * It overlaps with the feature tests we do with autoconf.
      * It seems to have caused borkage in the Solaris builds for some
        considerable period of time.
      The New Way is:
      * The default changes to not-being-in-Posix mode.
      * If you want to force a C file into Posix mode, #include as
        the **first** include the new file ghc/includes/PosixSource.h.
        Most of the RTS C sources have this include now.
      * NON_POSIX_SOURCE is almost totally expunged.  Unfortunately
        we have to retain some vestiges of it in ghc/compiler so that
        modules compiled via C on Solaris using older compilers don't
  6. 10 Aug, 2001 1 commit
  7. 13 Jul, 2001 1 commit
    • rrt's avatar
      [project @ 2001-07-13 11:48:52 by rrt] · c3b90296
      rrt authored
      Don't use relative #include paths, as these files will be compiled from
      inside cbits (they're now linked into the cbits library). All paths on which
      include files may be found must now be given with -I directives.
  8. 29 Jun, 2001 1 commit
  9. 22 Jun, 2001 1 commit
  10. 05 Jun, 2001 1 commit
  11. 30 May, 2001 1 commit
  12. 22 May, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-05-22 13:22:14 by simonmar] · 7df73aa7
      simonmar authored
      Clarify what NON_POSIX_SOURCE is needed for (S_ISSOCK namely).  This
      module is probably badly named.  Anyway, things will likely change in
      this area shortly when the Win32 port happens.
  13. 18 May, 2001 3 commits
    • qrczak's avatar
      [project @ 2001-05-18 21:46:58 by qrczak] · 469442fa
      qrczak authored
      Put back importing Monad, as it doesn't need Prelude anymore.
    • qrczak's avatar
      [project @ 2001-05-18 18:27:20 by qrczak] · 0ae11b0a
      qrczak authored
      Prelude isn't available yet.
    • simonmar's avatar
      [project @ 2001-05-18 16:54:04 by simonmar] · d9af408e
      simonmar authored
      I/O library rewrite
      This commit replaces the old C/Haskell I/O implementation with a new
      Haskell-only one using the new FFI & hsc2hs.
      main points:
         - lots of code deleted: we're about 3000 lines of C lighter,
           but the amount of Haskell code is about the same.
         - performance is ok: some operations are faster, others are
           slower.  There's still some tuning to do, though.
         - the new library is designed to handle read/write streams
           much better: a read/write stream gets a special kind of
           handle internally called a "DuplexHandle", which actually
           contains two separate handles, one for writing and one for
           reading.  The upshot is that you can do simultaneous reading
           and writing to/from a socket or FIFO without any locking
           problems.  The effect is similar to calling socketToHandle
           twice, except that finalization works properly (creating
           two separate Handles could lead to the socket being closed
           too early when one of the Handles is GC'd).
         - hConnectTo and withHandleFor are gone (no one responded to
           my mail on GHC users, but we can always bring 'em back if
         - I made a half-hearted attempt at keeping the system-specific
           code in one place: see PrelPosix.hsc.
         - I've rearranged the I/O tests and added lots more.
           ghc/tests/lib/IO now contains Haskell 98-only IO tests,
           ghc/test/lib/{IOExts, Directory, Time} now contain tests for
           the relevant libraries.  I haven't quite finished in here yet,
           the IO tests work but the others don't yet.
         - I haven't done anything about Unicode yet, but now we can
           start to discuss what needs doing here.  The new library
           is using MutableByteArrays for its buffers because that
           turned out to be a *lot* easier (and quicker) than malloc'd
           buffers - I hope this won't cause trouble for unicode
           translations though.
      WARNING: Windows users refrain from updating until we've had a chance
      to fix any issues that arise.
      Testing: the basic H98 stuff has been pretty thoroughly tested, but
      the new duplex handle stuff is still a little green.