Can you provide a small test case that demonstrates the crash?
I think it's pretty unlikely that we'll support nested atomically (via
unsafePerformIO) anytime soon. UnsafePerformIO is, well, unsafe.
I think you are really asking for some way to create top-level
transactional variables?
Simon
| -----Original Message-----
| From: haskell-cafe-bounces at haskell.org[mailto:haskell-cafe-bounces at haskell.org] On Behalf Of
| Tomasz Zielonka
| Sent: 04 December 2005 18:32
| To: Simon Marlow
| Cc: Haskell Cafe
| Subject: Re: [Haskell-cafe] STM, orElse and timed read from a channel
|| On Sat, Dec 03, 2005 at 10:35:54PM +0100, Tomasz Zielonka wrote:
| > so I could export a waitUntil function with type
| >
| > waitUntil :: Time -> STM ()
| >
| > but I tripped on something that was reported before, namely that STM
| > transactions can't be nested (as a result of unsafePerformIO or
| > unsafeInterleaveIO). Is there a plan to support such scenario?
|| OK, it can be worked around by running the atomically block in a new
| transaction. But still it would be nice if the program didn't
segfault,
| but cause an exception for example.
|| Updated modules attached.
|| Best regards
| Tomasz
|| --
| I am searching for a programmer who is good at least in some of
| [Haskell, ML, C++, Linux, FreeBSD, math] for work in Warsaw, Poland