Commit graph

226 commits

Author SHA1 Message Date
Walter Bright
d9a9826e55 Revert "Introducing std.meta package" 2015-05-06 14:36:45 -07:00
Dicebot
a76d90c927 Phobos should only mention tuple as std.typecons.Tuple 2015-05-05 22:22:11 +03:00
Dicebot
82f54a38d3 TypeTuple -> MetaList inside Phobos 2015-05-05 22:22:11 +03:00
Dicebot
73f773838d import std.typetuple -> import std.meta 2015-05-05 22:22:10 +03:00
Martin Nowak
e7dcf0c20f replace shared static this with cas based lazy initialization
- to avoid circular module dependencies
2015-04-20 16:36:40 +02:00
Robert Schadek
f22559ffc1 Merge pull request #3041 from MartinNowak/synchronizeAttributes
fix attributes for synchronized (mtx)
2015-03-10 15:04:05 +01:00
Martin Nowak
196b7bd734 roll back Mutex nothrow
- we had troubles turning vibe.d's mutex class
  into nothrow and have to undo the changes
  for now

- use internal lock_nothrow/unlock_nothrow
  functions so that the Scheduler API need
  not be changed
2015-03-06 21:49:12 +01:00
Martin Nowak
0915442a55 can't synchronize on a const mutex
- deprecate MessageBox.isClosed
2015-03-06 21:41:39 +01:00
Martin Nowak
10cbf750f5 use initOnce for lazy shared initialization
- use TickDuration.currSystemTick instead of Clock.currSystemTick
  to break cyclic dependency of std.datetime and std.concurrency
2015-02-11 20:31:37 +01:00
Andrei Alexandrescu
d2112760e1 Avoid use after remove from hashtable 2015-01-31 19:33:16 -08:00
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