Sean Kelly
2206b4233c
Fixed compile error in spawnLinked.
2010-06-15 22:03:40 +00:00
Sean Kelly
a980bb4ec2
Added spawnLinked as an experimental feature to test bidirectional linking. A spawnLinked thread won't have an owner, but if either it or the calling process terminates a LinkTerminated exception will be thrown from receive() when called by the other. Another difference is that this exception will be thrown once message list processing has passed through enough of the queue to encounter it rather than when no valid matches were found in the queue and the caller would have to block. I'd like to change the OwnerTerminated mechanism to work the same way (ie. throw when the message is encountered rather than continue scanning the queue looking for valid messages) but this warrants further discussion.
2010-06-15 21:30:06 +00:00
Walter Bright
cd0512c962
Sean's update
2010-06-12 20:57:44 +00:00
Sean Kelly
eb019b9df3
Added owner/owned thread behavior. One bug remains where messages from an owned to an owner thread about owned thread termination aren't remoevd from the queue. Annoying, but just a leak and I'm out of time.
2010-06-12 13:13:08 +00:00
Andrei Alexandrescu
f8f1fdbd37
Eliminated spurious unittest stdout messages.
2010-06-08 17:17:20 +00:00
Sean Kelly
8ceb365740
Fixed a stupid mistake in receiveOnly.
2010-06-05 01:23:08 +00:00
Sean Kelly
d18cea855b
Fixed an issue with tid.send(). Also added ostensibly correct code for receiveOnly in a version(none) block because there appears to be a compiler bug that prevents it from working.
2010-06-04 22:49:45 +00:00
Don Clugston
f5cf7d68f4
Trivial typo in comment
2010-05-31 11:28:04 +00:00
Walter Bright
0cbbd427f2
shouldn't have a main()
2010-03-10 01:57:00 +00:00
Sean Kelly
274b66899c
Added receiveOnly, receiveTimeout, and Tid.send. Still lacking static param checking, setMaxMailboxSize, and possibly some other stuff. Documentation is needed as well.
2010-03-09 19:40:29 +00:00
Sean Kelly
c716f738aa
Added std.concurrency. The cuurrent implementation is still pretty spare, but the basics work. See the unittest for an example.
...
"make unittest" doesn't work with this module because the compiler breaks on what it thinks is unreachable code. I suppose "treat warnings as errors" will have to be turned off for this module unless someone can find a way to convince the compiler that this code is correct.
More additions forthcoming. I just wanted to get this in now so it didn't have to continue being passed around via email.
2010-03-09 06:32:39 +00:00