Commit Graph

49 Commits

Author SHA1 Message Date
Michael Walker
0088f21ade concurrency, dejafu, hunit-dejafu, tasty-dejafu release 2018-07-01 13:31:23 +01:00
Michael Walker
747b177271 Add deprecated CRef aliases 2018-07-01 13:06:47 +01:00
Michael Walker
039295ef41 Rename CRef to IORef 2018-07-01 12:45:43 +01:00
Michael Walker
d9fb307356 Move fork, forkOn & forkOS out of MonadConc
Closes #132
2018-03-25 10:28:20 +01:00
Michael Walker
0486ac86c5 Add forkOSWithUnmask(N) 2018-03-25 10:28:20 +01:00
Michael Walker
35c2069b89 Drop GHC 7.10 support 2018-03-25 10:28:20 +01:00
Michael Walker
2d8127774f Fix HLint errors 2018-03-24 23:14:04 +00:00
Michael Walker
5237effb06 concurrency-1.4.0.0 / dejafu-1.0.0.1 joint release 2018-01-19 17:13:45 +00:00
Michael Walker
7a13b106d9 Add note about instance deriving to Monad{Conc,STM} docs 2018-01-19 16:45:38 +00:00
Michael Walker
d62f0c24d8 Make it possible to derive MonadConc instances 2018-01-19 16:30:04 +00:00
Michael Walker
f310c60bc5 Update copyright years 2017-12-13 07:24:18 +00:00
Michael Walker
5ee2590f0e Rework docs
Closes #146
Closes #147
Closes #156
2017-12-12 14:07:22 +00:00
Michael Walker
3348c4705c Add bound-thread async function variants 2017-12-12 14:06:59 +00:00
Michael Walker
45256193c0 Implement bound threads
This also adds forkOS(N) and isCurrentThreadBound to MonadConc, a
breaking change.

Note: forkOSWithUnmask(N) is NOT added to MonadConc, as it isn't
supported in base-4.8 (GHC 7.10).  See #132 for the action on this.

A bound thread under test gets a dedicated worker thread, which is
forked bound using the underlying MonadConc.  This worker is used for
all lifted actions, with execution as normal otherwise.
2017-12-12 14:06:59 +00:00
Michael Walker
e2a8882764 concurrency-1.2.3.0 release 2017-11-30 21:25:51 +00:00
Michael Walker
e408dcb40b Add named-thread variants of the 'withAsync*' functions
Closes #148
2017-11-30 21:22:46 +00:00
Michael Walker
4437baf672 concurrency-1.2.2.0 release 2017-11-05 01:53:22 +00:00
Michael Walker
77c708014d Add IsConc and IsSTM types 2017-11-05 01:47:30 +00:00
Michael Walker
74b1c2c996 Use underlying monad for modifyCRefCAS_ transformer instances 2017-11-05 01:33:43 +00:00
Michael Walker
9cb33bf431 Remove redundant bracket 2017-10-20 14:30:42 +01:00
Michael Walker
df38c44339 Fix docs error on tryReadMVar 2017-10-15 11:22:47 +01:00
Michael Walker
098ae62a5e Add a definition for forkOnWithUnmask to instance MonadConc IO
Related to #134
2017-10-14 05:48:50 +01:00
Lars Kuhtz
73d14430d2 [issue 134] implement forkWithUnmask in MonadConc instance for IO 2017-10-13 12:31:13 -07:00
Michael Walker
3ed2f1fca1 Name threads in IO with GHC.Conc.labelThread
Closes #127
2017-10-11 09:17:32 +01:00
Michael Walker
81e7b3af24 concurrency-1.2.1.0 release 2017-10-02 12:37:45 +01:00
Michael Walker
728ea8a440 Reword some haddocks 2017-10-02 12:34:33 +01:00
Gaël Deest
79ccec2145 Named versions of async*. 2017-10-02 10:28:15 +02:00
Michael Walker
356e13018d Remove some unnecessary imports 2017-09-26 15:13:49 +01:00
Michael Walker
9de3ffd307 concurrency release 2017-09-16 20:50:37 +01:00
Michael Walker
5da1c7727c Require a MonadSTM to be a MonadPlus
Also pull orElse and retry out of the class.  This breaks
compatibility with dejafu.

Fixes #117
2017-09-16 20:50:37 +01:00
Michael Walker
cc27e03d6d Use stylish-haskell to format import lists. 2017-04-08 05:42:25 +01:00
Michael Walker
d934222fe7 Implement isEmptyMVar in terms of tryRead, not tryTake. 2017-04-08 05:42:25 +01:00
Michael Walker
5cd55a1921 Add an HLint2 config file & fix warnings. 2017-04-08 05:42:25 +01:00
Michael Walker
7cd0c665fa Add Haddock "@since" comments to everything in concurrency. 2017-04-05 21:25:02 +01:00
Michael Walker
a4ab84e132 Only define Semigroup Async instance for base >= 4.9.0.0. 2017-04-05 21:01:23 +01:00
Michael Walker
1532a75f78 Add replicateConcurrently{,_} to Async. 2017-04-05 20:57:27 +01:00
Michael Walker
92de856ed0 Add concurrently_, mapConcurrently_, and forConcurrently_. 2017-04-05 20:56:20 +01:00
Michael Walker
2e7aeac8b3 Add Semigroup and Monoid instances for Concurrently. 2017-04-05 20:54:21 +01:00
Michael Walker
71beaed0e5 Add uninterruptibleCancel to Async. 2017-04-05 20:46:00 +01:00
Michael Walker
15af09a406 Rexport mask_ and uninterruptibleMask_ from Conc.Class 2017-04-05 20:45:40 +01:00
Michael Walker
9a7a883ab9 Update cancel docs to mention blocking. 2017-04-05 20:36:53 +01:00
Felix Raimundo
ed08975e3f Make cancel blocking
In the documentation of `cancel`, it is said to be blocking, waiting on
the cancelled `async` to die. It seems to me that is not the case.

This patch simply applies the code written by Simon Marlow in order
to wait for the termination of the `async`.

See:
https://hackage.haskell.org/package/async-2.1.1/docs/src/Control.Concurrent.Async.html#cancel
2017-04-05 16:44:08 +02:00
Michael Walker
463efd3f8d Merge "async-dejafu" into "concurrency" + bump versions.
Closes #73.
2017-03-03 22:06:09 +00:00
Michael Walker
12335e0090 Add tryReadMVar to MonadConc and dejafu.
Also pins the version of "concurrency" that dejafu depends on down to
the third digit, as additions to `MonadConc` will break dejafu.

Closes #62.
2017-02-20 23:42:08 +00:00
Michael Walker
f9da4c43a9 Remove unused imports. 2017-02-20 20:28:25 +00:00
Michael Walker
336199e75b Drop _concMessage from MonadConc.
Closes #63.
2017-02-20 20:28:17 +00:00
Michael Walker
a0181bde42 Document transformer instance behaviour with fork. 2016-09-10 12:25:34 +01:00
Michael Walker
373ba952ca Sub "MVar" for "CVar" in a comment. 2016-08-25 16:56:58 +01:00
Michael Walker
2f0f51ceb6 Split concurrency modules into a separate package.
The new 'concurrency' package is starting at version 1.0.0.0 because the
API is already very mature (copied from base).

This breaks the dejafu-0.2 compatibility of async-dejafu.

Closes #51.
2016-07-21 19:33:49 +01:00