class_docstr: Creates a new shared memory block or attaches to an existing
  shared memory block.
  
  Every shared memory block is assigned a unique name.  This enables
  one process to create a shared memory block with a particular name
  so that a different process can attach to that same shared memory
  block using that same name.
  
  As a resource for sharing data across processes, shared memory blocks
  may outlive the original process that created them.  When one process
  no longer needs access to a shared memory block that might still be
  needed by other processes, the close() method should be called.
  When a shared memory block is no longer needed by any process, the
  unlink() method should be called to ensure proper cleanup.
docstr: Closes access to the shared memory from this instance but does
  not destroy the shared memory block.
docstr_tok: ["Closes","access","to","the","shared","memory","from","this","instance","but","does","not","destroy","the","shared","memory","block","."]
code: def close(self):
      """Closes access to the shared memory from this instance but does
      not destroy the shared memory block."""
      if self._buf is not None:
          self._buf.release()
          self._buf = None
      if self._mmap is not None:
          self._mmap.close()
          self._mmap = None
      if _USE_POSIX and self._fd >= 0:
          os.close(self._fd)
          self._fd = -1
  
imports: from functools import partial
  import mmap
  import os
  import errno
  import struct
  import secrets
label_desc: Use image node_id 8 for calling the SharedMemory obj's underlying member method code with example usage: obj.close() without return types