forked from simonmar/async
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathasync.cabal
More file actions
130 lines (118 loc) · 3.57 KB
/
async.cabal
File metadata and controls
130 lines (118 loc) · 3.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: async
version: 2.2.5
-- don't forget to update ./changelog.md!
synopsis: Run IO operations asynchronously and wait for their results
description:
This package provides a higher-level interface over
threads, in which an @Async a@ is a concurrent
thread that will eventually deliver a value of
type @a@. The package provides ways to create
@Async@ computations, wait for their results, and
cancel them.
.
Using @Async@ is safer than using threads in two
ways:
.
* When waiting for a thread to return a result,
if the thread dies with an exception then the
caller must either re-throw the exception
('wait') or handle it ('waitCatch'); the
exception cannot be ignored.
.
* The API makes it possible to build a tree of
threads that are automatically killed when
their parent dies (see 'withAsync').
license: BSD3
license-file: LICENSE
author: Simon Marlow
maintainer: Simon Marlow <marlowsd@gmail.com>
copyright: (c) Simon Marlow 2012
category: Concurrency
build-type: Simple
cabal-version: >=1.10
homepage: https://github.com/simonmar/async
bug-reports: https://github.com/simonmar/async/issues
tested-with:
GHC == 9.12.2
GHC == 9.10.2
GHC == 9.8.4
GHC == 9.6.7
GHC == 9.4.8
GHC == 9.2.8
GHC == 9.0.2
GHC == 8.10.7
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2
-- CI does not support GHC 7
-- GHC == 7.10.3
-- GHC == 7.8.4
-- GHC == 7.6.3
-- GHC == 7.4.2
-- GHC == 7.2.2
-- GHC == 7.0.4
extra-source-files:
changelog.md
bench/race.hs
source-repository head
type: git
location: https://github.com/simonmar/async.git
flag debug-auto-label
description:
Strictly for debugging as it might have a non-negligible overhead.
Enabling this flag will auto-label the threads spawned by @async@. Use it to
find where are unlabelled threads spawned in your program (be it your code or
dependency code).
default: False
manual: True
library
default-language: Haskell2010
other-extensions: CPP, MagicHash, RankNTypes, UnboxedTuples
if impl(ghc>=7.1)
other-extensions: Trustworthy
exposed-modules: Control.Concurrent.Async
Control.Concurrent.Async.Internal
build-depends: base >= 4.3 && < 4.22,
hashable >= 1.1.2.0 && < 1.6,
stm >= 2.2 && < 2.6
if flag(debug-auto-label)
cpp-options: -DDEBUG_AUTO_LABEL
test-suite test-async
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: test-async.hs
build-depends: base,
async,
stm,
test-framework,
test-framework-hunit,
HUnit
flag bench
default: False
executable concasync
if !flag(bench)
buildable: False
default-language: Haskell2010
hs-source-dirs: bench
main-is: concasync.hs
build-depends: base, async, stm
ghc-options: -O2
executable conccancel
if !flag(bench)
buildable: False
default-language: Haskell2010
hs-source-dirs: bench
main-is: conccancel.hs
build-depends: base, async, stm
ghc-options: -O2 -threaded
executable race
if !flag(bench)
buildable: False
default-language: Haskell2010
hs-source-dirs: bench
main-is: race.hs
build-depends: base, async, stm
ghc-options: -O2 -threaded