[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Cygwin port of Guile 2.2
From: |
Mike Gran |
Subject: |
Cygwin port of Guile 2.2 |
Date: |
Tue, 04 Apr 2017 09:45:43 -0700 |
Hello All,
I push a branch that mostly makes Guile 2.2 work on Cygwin.
In the end, I had a few issues.
Cygwin's uselocale is broken and can segrault. I fell back
to the standard nl-langinfo. I understand the issue and may
push a patch upstream to Cygwin sometime.
Also Cygwin's langinfo is incomplete with regards to LC
MONETARY. This also is fixable upstream in Cygwin.
Cygwin requires stability on both ends of a pipe being used
for inter-thread communication. If one tries to read from a
pipe that is closing on the other end, Cygwin may fault. I
worked around this by replacing pipes with a
producer/consumer pattern of semaphores and mutex-protected
variables. A dirty workaround.
Lastly, Cygwin's fork just doesn't play well with Guile's
new GC and threading model. Despite a copy of days in the
guts of it all, I don't understand the specifics of the
issue. So, in the branch, I disabled forking altogether,
and by extension, popen and friends.
While I couldn't get fork to work, the other threading
primitives seem fine.
The branch is wip-cygwin-guile-2.2.
Thanks,
Mike Gran
- Cygwin port of Guile 2.2,
Mike Gran <=