[MLton] Finished (?) MLton.Child

Wesley W. Terpstra terpstra@gkec.tu-darmstadt.de
Thu, 2 Dec 2004 05:45:39 +0100


--G4iJoqBmSsgzjUCe
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

I popped in a new RAM chip and tada: mlton compiles. :)
I think the newer mlton compilers are the best RAM testers on the market.
No other tool found anything wrong with my RAM, but 3/4 builds failed before
and 0/4 fail now. Clearly, the RAM was to blame.

Here's a patch which makes CreateProcess work on cygwin without using
fork(). After having read the cygwin source for fork and spawn, I am very
pleased with how little crap is involved in this implementation. =)

I had to write my own version of cwait() as the comment explains.
I also pulled everything out of create.c. The only method which remains
the same between mingw and cygwin is terminate, so it was rather silly.
Paths are translated from cygwin style to windows before CreateProcess.

At any rate, afaik this means MLton.Process.create works on all supported
platforms. Therefore Unix.create works too. =) You might want to consider
deprecating spawn in favour of the SML Basis provided Unix.*.

Btw, why is mlton not built for !i386 in debian? The C target would still
work wouldn't it?

Also, at some point when you applied my patch to fix cygwin->mingw
cross-compilation, part went missing and therefore cvs/HEAD doesn't work.
I've attached a quick fix for that too. (You included -b twice)

My next MLton related project will be IPv6 or SWIG. Undecided atm.

-- 
Wesley W. Terpstra

--G4iJoqBmSsgzjUCe
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="cross-misapplied.patch.gz"
Content-Transfer-Encoding: base64

H4sICEJerkECA2Nyb3NzLW1pc2FwcGxpZWQucGF0Y2gApY69DoIwFIVn+xQnzPwEDaZpxIXJ
VZ4A4RablDZpKzr48IKJEF39hvt3TnLuyXT0EBgaZVJ5M6z8H3auakilSSBrR++sDdmggzXf
dUrMPrHxyBwFp2hUpoebmlfWIE95zjolJRI3z+ubvNjFvNh3vNiyAzYzaBtPCI3rKcDK5TxR
Oes9PMojouQSQYhpmctdhfZKfvU+UZOWs/FHw5ux0YuAkr0AzERKej0BAAA=

--G4iJoqBmSsgzjUCe
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="cygwin-createprocess.patch.gz"
Content-Transfer-Encoding: base64

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

--G4iJoqBmSsgzjUCe--