Changelog for ports-

If this renders badly as markdown, see the plain text version

2004-05-14 Manuel M. T. Chakravarty

* Previous four improvements are courtesy Donald Stewart

* tests/ Regress script

* Added package spec

* lib/Makefile: Needs a name in the ghc package system

* lib/Processes.hs (forkExec): fix code to follow semantics of
post 6.2 forkProcess

* lib/PortsVersion.hs (versnum): 0.4.3

2003-07-07 Manuel M T Chakravarty

* lib/Processes.hs (procGrpKill): added
(procGrp): added

2003-06-23 Manuel M T Chakravarty

* lib/Ports.hs (waitForThread): added
(waitForPort): added
(waitForPortThread): added
(closeAndWaitForPort): added
(openPort): added
(closePort): repeated closing is offset by opening of ports

* lib/PortsVersion.hs (versnum): 0.4.2

* tests/ProcPipe.hs: using `PortThreads'

* tests/TestProcesses.hs: using `PortThreads'

* lib/Processes.hs (procKill): Added the signal type as an argument

2003-06-22 Manuel M T Chakravarty

* lib/Ports.hs (closePort): Explicitly allow repeated calls to
this routine.

* lib/Processes.hs (proc): redid the process fork()ing and
exec()ing (using a scheme gleaned from David Sankel's
`shell-haskell') plus assorted other cleanup

2003-06-18 Manuel M T Chakravarty

* lib/PortThreads.hs: new experimental API that couples port
creation with spawning a listener thread

* lib/SVars.hs (valV): Needs a NOINLINE

2003-06-17 Manuel M T Chakravarty

* lib/Processes.hs: Two fixes due to changes in GHC 6.0's libraries

* lib/PortsVersion.hs (versnum): 0.4.1

2003-02-28 Manuel M T Chakravarty

* lib/ThreadUtils.hs: (<&>), (&>) courtesy of Duncan Coutts

* lib/PortsVersion.hs (versnum): 0.4.0 "A Cold Southerly"

2002-09-15 Manuel M T Chakravarty chak@AttitudeAdjuster

* aclocal.m4 (PORTS_GHC_VERSION): made Solaris and FreeBSD friendly

* lib/PortsVersion.hs (versnum): 0.3.4

2001-07-04 Manuel M. T. Chakravarty

* lib/Processes.hs (procKill): added

2001-07-03 Manuel M. T. Chakravarty

* lib/Processes.hs (proc): gracefully handle the case where child
processes vanish; eg, because SIGCHLD is set to SIG_IGN
(runProcess): make this more save re execve() failing

2001-06-30 Manuel M. T. Chakravarty

* lib/Ports.hs (withPorts): added
(keepAlivePort): added
(keepAliveForkIO): added

* lib/SVars.hs (&): made exception safe

2001-06-29 Manuel M. T. Chakravarty

* lib/Processes.hs (toProc): adapt to change in (<==)

* lib/Ports.hs (<==): doesn't use a fork anymore; it's too unintuitive

* (GHC): debugged

* Makefile (TARFILES): debugged

* lib/PortsVersion.hs (versnum): 0.3.3

2001-06-24 Manuel M. T. Chakravarty

* (syslibs): updated

* lib/Ports.hs (waitUntilClosedPort): added
(setupPort): revised port creation code and thereby removed a bug in

* lib/PortsVersion.hs (versnum): 0.3.2

2001-06-19 Manuel M. T. Chakravarty

* corrected

2001-06-04 Manuel M. T. Chakravarty

* lib/ added

* lib/Ports.hs (newFilteringPort): worked around the problem with
finalisers not counting as threads when the GC determines
indefinitely blocked threads and whether the program is deadlocked

2001-06-03 Manuel M. T. Chakravarty

* added --enable-debug

2001-06-02 Manuel M. T. Chakravarty

* lib/Ports.hs (newFilteringPort): ports are automagically closed
when garbage collected
(ensureRegularGC): kludge to avoid deadlocks due to delay in
running finalisers

* lib/Processes.hs (Proc): changed type to use explicit ports for

* lib/Ports.hs (chainPorts): added
(<==): clarified semantics and reduced deadlock potential

* lib/PortsVersion.hs (versnum): 0.3.1

2001-05-25 Manuel M. T. Chakravarty

* lib/Processes.hs (proc): added
(toProc): added

2001-05-14 Manuel M. T. Chakravarty

* mk/ generic link rules

* Makefile (ghci): added ghci target

* lib/Processes.hs: started child process management

* lib/PortsVersion.hs (versnum): 0.3.0 "Autumn Sun"

2001-02-22 Manuel M. T. Chakravarty

* lib/Ports.hs: the `yield' bug magically disappeared with GHC 4.08

* lib/PortsVersion.hs (versnum): 0.2.2

2000-10-05 Manuel M. T. Chakravarty

* Added space characters after backslashes used for multiline
strings; otherwise, the sources can't be run through cpp - as
pointed out by Michael Weber <>

* aclocal.m4: stole PORTS_GHC_VERSION from fptools

* lib/PortsVersion.hs (versnum): 0.2.1

2000-07-05 Manuel M. T. Chakravarty

* lib/Ports.hs (PortNotifier): added
(newProxyPort): added
(listenToPort): added
(linkPorts): added

* lib/PortsVersion.hs (versnum): 0.2.0 "Pacific Air"

2000-06-14 Manuel M. T. Chakravarty

* lib/Ports.hs: debugged

* lib/PortsVersion.hs (versnum): 0.1.2

2000-06-08 Manuel M. T. Chakravarty

* lib/Ports.hs: Changed the representation of empty closed ports
to avoid races

2000-06-07 Manuel M. T. Chakravarty

* lib/PortsVersion.hs (versnum): 0.1.1

2000-06-04 Manuel M. T. Chakravarty

* Makefile: installation

* toplevel: filled in missing pieces

2000-05-21 Manuel M. T. Chakravarty

*  (setup): reorganistion of alpha code as standalone library