Commit graph

211 commits

Author SHA1 Message Date
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