> 
> The patch mentions a C-function freeChannel, but there is no such thing
> in the ghc-2.08 sources. Perhaps I'm a bit out-of-sync with patching...
> 
> A quick hint would be nice, because due to my Patch-O-Mania our local
> PosixIO is unusable (ld complains about missing freeChannel)
> :'-(

Oops, patch to fix patch follows.

--Sigbjorn

*** hslibs/posix/cbits/libposix.h-old   1997/10/16 19:03:57
--- hslibs/posix/cbits/libposix.h       1997/10/21 16:08:00
***************
*** 64,70 ****
  
  /* For PosixIO only (finaliser for (FILE *) contained in Handles) */
  extern void freeStdChannel PROTO((StgForeignObj));
! extern void freeChannel PROTO((StgForeignObj));
  
  extern I_ nocldstop;
  
--- 64,70 ----
  
  /* For PosixIO only (finaliser for (FILE *) contained in Handles) */
  extern void freeStdChannel PROTO((StgForeignObj));
! extern void freeFile PROTO((StgForeignObj));
  
  extern I_ nocldstop;

*** hslibs/posix/src/PosixIO.lhs.~2~    Thu Oct 16 20:08:47 1997
--- hslibs/posix/src/PosixIO.lhs        Tue Oct 21 17:06:34 1997
***************
*** 125,131 ****
         (if fd == stdInput || fd == stdOutput || fd == stdError then
               makeForeignObj file_struct (``&freeStdChannel''::Addr)
          else
!              makeForeignObj file_struct (``&freeChannel''::Addr)) `thenIO_Prim` \ fp 
->
         newHandle (handle_t fp Nothing False)
  #else
         newHandle (handle_t file_struct Nothing False)
--- 125,131 ----
         (if fd == stdInput || fd == stdOutput || fd == stdError then
               makeForeignObj file_struct (``&freeStdChannel''::Addr)
          else
!              makeForeignObj file_struct (``&freeFile''::Addr)) `thenIO_Prim` \ fp ->
         newHandle (handle_t fp Nothing False)
  #else
         newHandle (handle_t file_struct Nothing False)

Reply via email to