Commit graph

116 commits

Author SHA1 Message Date
Robert burner Schadek
d250e5cc26 Revert "Remove concurrency @trusted workarounds"
This reverts commit 299f0183e2661cb2640749a692a3463a0e51c1f9.

thread local forward

thread local default log function forward

nicer imports

forwardMsg must not be final

moved comments to package and started to integerade Martin's log disabling

more compile time function disabling

style and dscanner suggestions

stdThreadLog fix and doc

a lot of updates

* spell fixes
* better tests
* docu changes

docu update

whitespace

moduleLogLevel docu
2015-01-26 16:09:48 +01:00
Dicebot
8a77147276 Relax safety requirements on logging methods
Allows logging objects with @system toString
To compensate the change unittest blocks where marked as @safe where
applicable

Remove concurrency @trusted workarounds

Relevant druntime PR has been merged, plain @safe works now
2015-01-25 21:31:24 +01:00
Robert burner Schadek
bb1929b7b5 some more on multilogger
doc and style fixes mostly

rebase
2015-01-25 21:31:24 +01:00
Dicebot
e47421c878 Make std.concurrency constructors @safe
Fix safety of logger.core

Replaces @trusted abuse with @safe annotations and few occasional
@trusted tweaks.

Improve safety of all logger

Cleans usage of @safe and @trusted in derived modules
2015-01-25 21:31:24 +01:00
Andrei Alexandrescu
224ab42e0c Merge pull request #2874 from MartinNowak/addMessageFreeList
use lock-free freelist
2015-01-24 12:00:19 -08:00
H. S. Teoh
fb7d68882e Merge pull request #2872 from MartinNowak/test2644
regression test for FiberCondition fix (pull #2644)
2015-01-20 19:44:18 -08:00
Martin Nowak
dcee2cd9e4 Merge pull request #2664 from MartinNowak/master
add initOnce
2015-01-20 10:28:09 +01:00
Martin Nowak
92f14d8dd5 destroy node value before putting it on the freelist
- to free any owned GC memory
2015-01-16 04:02:34 +01:00
Martin Nowak
c91cbef509 replace mutex with spinlock to reduce overhead
- spinlock yields on contention
2015-01-16 03:49:25 +01:00
David Nadlinger
9c26b67f4f Merge pull request #2873 from MartinNowak/schedulerNothrow
mark rest of std.concurrency Scheduler as nothrow
2015-01-15 18:12:17 +01:00
Martin Nowak
78ab1a5ebd Merge pull request #2645 from complexmath/addMessageFreeList
Add message free list to std.concurrency
2015-01-15 09:50:09 +01:00
Martin Nowak
0a33966a30 mark rest of std.concurrency Scheduler as nothrow
- works now that core.sync.* is completely nothrow too
2015-01-15 09:47:54 +01:00
Martin Nowak
74599d3750 regression test for FiberCondition fix (pull #2644) 2015-01-15 09:43:12 +01:00
Martin Nowak
f2e5228d60 Merge pull request #2644 from complexmath/fixFiberScheduler
Fix a bug with FiberScheduler
2015-01-15 09:37:32 +01:00
Martin Nowak
ac84cbeb55 add initOnce
- uses double-checked locking (the correct one)

- minimal overhead and simple API

- default mutex is shared among all instances
2015-01-05 02:46:55 +01:00
Geod24
fc132046bf Remove deprecated and undocumented hasLocalAliasing, hasRawLocalAliasing, hasLocalObjects 2014-12-21 22:14:31 +01:00
Brad Roberts
9388f8bfee disable fiber test on win32 2014-12-05 01:59:13 +00:00
Kevin Lamonte
0781866902 code formatting, use sink
update docs, style, use thread:id scheme

use MessageBox hash, remove running thread

use mbox address

moved import
2014-11-28 11:04:42 -08:00
Martin Nowak
354544b6bb nothrow for Schedulder
- require nothrow for thisInfo, yield

- make Condition methods nothrow
2014-11-23 00:41:57 +01:00
kai
a2d0626b1e Fix deprecation warning in std.concurrency.
Replace false with Fiber.Rethrow.no to remove the warning.
2014-11-22 15:31:38 +01:00
k-hara
b80083f198 fix property enforcement 2014-11-20 22:37:57 +09:00
Sean Kelly
40be882d40 Added freelist for messages 2014-10-27 16:37:57 -07:00
Sean Kelly
a843136b2c FiberScheduler wasn't resetting notified state when Condition.wait completed. 2014-10-27 13:33:12 -07:00
Dicebot
8fbad993ce Add Generator to std.concurrency
Generator is an extension to a Fiber that yields return values of specific type
2014-10-21 11:47:21 -07:00
Sean Kelly
519ce8cef6 Make std.concurrency compatible with fibers
https://d.puremagic.com/issues/show_bug.cgi?id=12090

With this commit fibers can have own message boxes and act similar
to threads in that regard.
2014-10-21 11:47:21 -07:00
Geod24
0fb95b8c27 Usage of WEB macro for License everywhere 2014-10-15 11:30:42 +02:00
Ferdinand Majerech
a622ccc2a0 (trivial) (ddoc) more descriptive std.concurrency doc.
`ownerTid`/`childTid` are more descriptive/obvious when reading than just `tid` here.
2014-10-08 15:59:41 +02:00
Geod24
7100047473 Replace enforceEx with enforce where it's possible 2014-08-25 12:18:02 +02:00
Yazan S. Dabain
a81f6200cf [Trivial] Fix documentation typos 2014-02-28 21:08:19 +02:00
k-hara
b391b2ec9f Convert to new alias syntax 2014-02-11 15:27:05 +09:00
Daniel Murphy
a656f26e9e Remove use of automatic adjacent string literal concatenation from phobos 2014-01-20 03:42:21 +11:00
Martin Nowak
a0c7d83443 enforce thisTid was called before calling receive
- Simply calling receive in main as stated by the comment
  makes no sense, as nobody could send a message.
2013-09-30 21:45:13 +02:00
k-hara
87bd3315db fix Issue 10230 - Duplicated buttons for runnable examples 2013-07-16 00:45:48 +09:00
Daniel Murphy
c431176b05 Call thisTid to initialize first thread's message box, bypassing checks against setting thread-local variables from a shared static constructor. 2013-07-01 00:18:28 +10:00
Sean Kelly
429b12b185 fixed receiveTimeout to not wait beyond the specified limit in the event of multiple internal waits 2013-04-30 13:13:20 -07:00
Jonathan M Davis
e09940470d Merge pull request #1176 from jmdavis/deprecated
Remove some undocumented, deprecated functions which are slated for removal.
2013-03-25 03:47:50 -07:00
Alex Rønne Petersen
9cb2065fe6 Merge pull request #1092 from AndrejMitrovic/Fix6224
Issue 6224 - Add ownerTid() property.
2013-03-08 09:53:48 -08:00
jmdavis
8f7f6d69ac Remove some undocumented, deprecated functions which are slated for removal.
These have been deprecated for a while, but there was some balking
(primarily from Andrei IIRC) at actually removing them when they were
slated for removal, so they were instead made undocumented and slated
for removal after yet another 6 months or so. So, now that that time has
passed, here's another attempt to actually remove them.
2013-03-06 22:19:34 -08:00
Andrej Mitrovic
59e894698f Remove Tid.send() duplicated function, as UFCS function can take its place. 2013-01-23 16:53:26 +01:00
Andrej Mitrovic
aaa6854eb7 Fixes Issue 9373 - Add deprecation messages to Phobos. 2013-01-23 02:44:08 +01:00
Andrej Mitrovic
dd9b31ccae Fixes Issue 6224 - Add ownerTid() property. 2013-01-23 00:55:23 +01:00
Andrej Mitrovic
8592a34d4b Fixes Issue 8078 - receiveOnly exceptions should be informative. 2013-01-09 16:32:27 +01:00
SHOO
aa1f8351b9 rename Spawnable to isSpawnable 2012-11-18 18:48:49 +09:00
SHOO
10f1e807b7 replaced tabs to spaces 2012-11-15 23:50:26 +09:00
SHOO
f909a18dca fix Issue 9005 - std.concurrency.spawn should allow void delegate(Args) shared for new Tid
http://d.puremagic.com/issues/show_bug.cgi?id=9005
2012-11-15 23:30:30 +09:00
alexrp
b202180295 Remove all uses of sizediff_t in favor of ptrdiff_t. 2012-10-15 04:24:09 +02:00
jmdavis
14c9a0ae44 Undocumented September deprecations.
The deprecated stuff scheduled for removal in September is now
undocumented and marked (in a normal comment) for removal in March 2013.
2012-09-30 04:15:56 -07:00
jmdavis
d283d5735c Move August removals to September.
Several deprecated items were listed for removal in August, but it's
looking likely that 2.060 will come out in August, and I'd prefer not to
have them removed for 2.060 given how many items are already in the
changelog, and they're already deprecated, so it'll only affect people
compiling with -d either way. So, I'm changing the ddoc comments to say
September instead of August. They'll be removed in 2.061.
2012-07-23 23:11:07 -07:00
nazriel
dc408e6ff4 runnable examples - std.concurrency 2012-07-15 21:50:31 +00:00
alexrp
539134396a Kill some public imports of core.sync.* in std.concurrency. 2012-05-02 04:46:54 +02:00