code: def close(self, destroy=False, sync=False, timeout=None):
          
          _SharedPV.close(self, destroy)
          if sync:
              # TODO: still not syncing PVA workers...
              self._queue.sync()
              self._disconnected.wait()
docs: Close PV, disconnecting any clients.
  
          :param bool destroy: Indicate "permanent" closure.  Current clients will not see subsequent open().
          :param bool sync: When block until any pending onLastDisconnect() is delivered (timeout applies).
          :param float timeout: Applies only when sync=True.  None for no timeout, otherwise a non-negative floating point value.
  
          close() with destory=True or sync=True will not prevent clients from re-connecting.
          New clients may prevent sync=True from succeeding.
          Prevent reconnection by __first__ stopping the Server, removing with :py:meth:`StaticProvider.remove()`,
          or preventing a :py:class:`DynamicProvider` from making new channels to this SharedPV.