diff --git a/docs/manual.adoc b/docs/manual.adoc index a6cf07d..a9cb35a 100644 --- a/docs/manual.adoc +++ b/docs/manual.adoc @@ -461,9 +461,9 @@ Almost all functions in pugixml have the following thread-safety guarantees: * it is safe to call free (non-member) functions from multiple threads * it is safe to perform concurrent read-only accesses to the same tree (all constant member functions do not modify the tree) -* it is safe to perform concurrent read/write accesses, if there is only one read or write access to the single tree at a time +* it is safe to perform concurrent read/write accesses on multiple trees, as long as each tree is only accessed from a single thread at a time -Concurrent modification and traversing of a single tree requires synchronization, for example via reader-writer lock. Modification includes altering document structure and altering individual node/attribute data, i.e. changing names/values. +Concurrent read/write access to a single tree requires synchronization, for example via a reader-writer lock. Modification includes altering document structure and altering individual node/attribute data, i.e. changing names/values. The only exception is <>; it modifies global variables and as such is not thread-safe. Its usage policy has more restrictions, see <>. diff --git a/docs/manual.html b/docs/manual.html index 0fb0c2d..482d1ff 100644 --- a/docs/manual.html +++ b/docs/manual.html @@ -1356,12 +1356,12 @@ There are cases when you’ll have to convert string data between UTF-8 and

it is safe to perform concurrent read-only accesses to the same tree (all constant member functions do not modify the tree)

  • -

    it is safe to perform concurrent read/write accesses, if there is only one read or write access to the single tree at a time

    +

    it is safe to perform concurrent read/write accesses on multiple trees, as long as each tree is only accessed from a single thread at a time

  • -

    Concurrent modification and traversing of a single tree requires synchronization, for example via reader-writer lock. Modification includes altering document structure and altering individual node/attribute data, i.e. changing names/values.

    +

    Concurrent read/write access to a single tree requires synchronization, for example via a reader-writer lock. Modification includes altering document structure and altering individual node/attribute data, i.e. changing names/values.

    The only exception is set_memory_management_functions; it modifies global variables and as such is not thread-safe. Its usage policy has more restrictions, see Custom memory allocation/deallocation functions.

    @@ -6216,7 +6216,7 @@ If exceptions are disabled, then in the event of parsing failure the query is in