This commit is contained in:
Michael Davidsaver
2021-05-31 08:05:04 -05:00
parent 47d8a639be
commit e61df5a371
2 changed files with 9 additions and 2 deletions
+2
View File
@@ -70,6 +70,8 @@ An example of a SharedPV with a custom Put handler
pv.open(initial);
.. note:: SharedPV follows the Source rules for :ref:`sourcethreading` and locking.
.. doxygenstruct:: pvxs::server::SharedPV
:members:
+7 -2
View File
@@ -12,11 +12,16 @@ The `pvxs::server::Source` interface is a more general, and complex, means of al
to respond to PV names as clients search for them.
This may be necessary in specialized cases such as gateway, proxy, or bridge servers.
.. _sourcethreading:
Threading
---------
The `pvxs::server::Source::onSearch` and `pvxs::server::Source::onCreate` callbacks may be invoked concurrently.
All callbacks stored through a `pvxs::server::ChannelControl` and related \*Op will be serialized.
A Server will invoke user callback functions from one or more internal worker threads.
However, it is guaranteed that callbacks relating to a given PV will never be executed concurrently.
This implies that callbacks for a single operation,
those stored through a `pvxs::server::ChannelControl` and related \*Op,
will also never be executed concurrently.
Ownership and Lifetime
----------------------