add thread-unsafe warnings to data docs

closes PR 13367, closes PR 13369
This commit is contained in:
Ryan Culpepper 2012-12-16 16:27:25 -05:00
parent ff9dcb62e8
commit dfc33f851f
5 changed files with 16 additions and 0 deletions

View File

@ -26,6 +26,8 @@ number of elements in the gvector.
Two gvectors are @racket[equal?] if they contain the same number of Two gvectors are @racket[equal?] if they contain the same number of
elements and if the contain equal elements at each index. elements and if the contain equal elements at each index.
Operations on gvectors are not thread-safe.
@defproc[(make-gvector [#:capacity capacity exact-positive-integer? 10]) @defproc[(make-gvector [#:capacity capacity exact-positive-integer? 10])
gvector?]{ gvector?]{

View File

@ -15,6 +15,8 @@
Binary heaps are a simple implementation of priority queues. Binary heaps are a simple implementation of priority queues.
Operations on binary heaps are not thread-safe.
@defproc[(make-heap [<=? (-> any/c any/c any/c)]) @defproc[(make-heap [<=? (-> any/c any/c any/c)])
heap?]{ heap?]{

View File

@ -39,6 +39,8 @@ end positions of the mapping's intervals.
(dict-map r list) (dict-map r list)
] ]
Operations on interval-maps are not thread-safe.
@defproc[(make-interval-map [#:key-contract key-contract contract? any/c] @defproc[(make-interval-map [#:key-contract key-contract contract? any/c]
[#:value-contract value-contract contract? any/c]) [#:value-contract value-contract contract? any/c])
interval-map?]{ interval-map?]{

View File

@ -24,6 +24,11 @@ A skip-list is an ordered dictionary (@racket[dict?] and
@racket[ordered-dict?]). It also supports extensions of the dictionary @racket[ordered-dict?]). It also supports extensions of the dictionary
interface for iterator-based search and mutation. interface for iterator-based search and mutation.
Operations on skip-lists are not thread-safe. If a key in a skip-list
is mutated, the skip-list's internal invariants may be violated,
causings its behavior to become unpredictable.
@defproc[(make-skip-list [ord order? datum-order] @defproc[(make-skip-list [ord order? datum-order]
[#:key-contract key-contract contract? any/c] [#:key-contract key-contract contract? any/c]
[#:value-contract value-contract contract? any/c]) [#:value-contract value-contract contract? any/c])

View File

@ -23,6 +23,11 @@ Tarjan in Journal of the ACM 32(3) pp652-686.
A splay-tree is a ordered dictionary (@racket[dict?] and A splay-tree is a ordered dictionary (@racket[dict?] and
@racket[ordered-dict?]). @racket[ordered-dict?]).
Operations on splay-trees are not thread-safe. If a key in a
splay-tree is mutated, the splay-tree's internal invariants may be
violated, causing its behavior to become unpredictable.
@defproc[(make-splay-tree [ord order? datum-order] @defproc[(make-splay-tree [ord order? datum-order]
[#:key-contract key-contract contract? any/c] [#:key-contract key-contract contract? any/c]
[#:value-contract value-contract contract? any/c]) [#:value-contract value-contract contract? any/c])