Hi Iustin, Am Samstag, den 19.05.2012, 19:32 +0200 schrieb Iustin Pop: > Hi all, > > I'm stumped and don't know how to proceed, so some feedback is welcome. > > While trying to update shelltestrunner, I realised that it requires > indeed a threaded runtime, it was not optional as I thought. > > The problem is that hGetContents from two threads (one on the stdout of > a child process and one on the stderr) will 'break' in non-threaded mode > if the output is bigger than what a pipe can 'hold'. If I understand > correctly, hGetContents will not actually force the read (not even for > strict bindings, i.e. !s <- hGetContents fd) so the child process will > be stuck on writing stdout, while the parent tries to read stderr, > leading to a deadlock. > > So, the options are: > > - patch heavily shelltestrunner and find a way to make it work without > -threaded; but I'm not sure I can fix this reliably and cleanly > - leave things as is, but then shelltestrunner will be broken in _some > cases_ on non-threaded platforms > - restrict it to platforms which have a threaded runtime (is there such > a list?) ideally, ghc would provide a ghc-threaded virtual package, just as it provides a ghc-ghci package, on which you could build-depend and/or depend. But it does not yet, and it is too late in the wheezy cycle to add that now (IMHO, although the change would not be too bad...) I suggest you figure out the list of arches that you want to support (the packages contents list on packages.d.o is helpful there) and put them in the Arches field, and request removal via ftp.debian.org for the other packages. After wheezy, we’ll add the virtual package to ghc. Please remind me of that then, or file a wishlist bug against ghc now. Greetings, Joachim -- Joachim "nomeata" Breitner Debian Developer nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata
Attachment:
signature.asc
Description: This is a digitally signed message part