class_docstr: SharedMem allows you to allocate and access shared memory.
  Provides memory view of the allocated memory via buf property.
  You can transfer access to the same shared memory chunk by sending related shared memory
  handle (file descriptor on Unix) available as handle property. Use SharedMem.allocate
  to allocate new chunk of shared memory and SharedMem.open if you received handle to already
  existing memory chunk.
  
  There is out of the box support for shared memory starting from Python3.8, though
  the only way there to transfer the memory to other processes is via filename,
  which might 'leak' if process was closed abruptly.
  
  Parameters
  ----------
  `handle` : int
      Handle identifying related shared memory object. Pass None to allocate new memory chunk.
  `size` : int
      When handle=None it is the size of shared memory to allocate in bytes, otherwise it must be
      the size of shared memory objects that provided handle represents.
class_docstr_tok: ["SharedMem","allows","you","to","allocate","and","access","shared","memory",".","Provides","memory","view","of","the","allocated","memory","via","buf","property",".","You","can","transfer","access","to","the","same","shared","memory","chunk","by","sending","related","shared","memory","handle","(","file","descriptor","on","Unix",")","available","as","handle","property",".","Use","SharedMem.allocate","to","allocate","new","chunk","of","shared","memory","and","SharedMem.open","if","you","received","handle","to","already","existing","memory","chunk",".","There","is","out","of","the","box","support","for","shared","memory","starting","from","Python3.8",",","though","the","only","way","there","to","transfer","the","memory","to","other","processes","is","via","filename",",","which","might","'leak","'","if","process","was","closed","abruptly",".","Parameters","--","--","--","--","--","`","handle","`",":","int","Handle","identifying","related","shared","memory","object",".","Pass","None","to","allocate","new","memory","chunk",".","`","size","`",":","int","When","handle=None","it","is","the","size","of","shared","memory","to","allocate","in","bytes",",","otherwise","it","must","be","the","size","of","shared","memory","objects","that","provided","handle","represents","."]
docstr: Closes OS handle for underlying shared memory. From now on, the process cannot resize the
  underlying memory with this handle but still can adjust the mapping if the underlying
  shared memory is resized, for instance, by another process.
  This means that call to resize with ``trunc``= True will be illegal.
docstr_tok: ["Closes","OS","handle","for","underlying","shared","memory",".","From","now","on",",","the","process","can","not","resize","the","underlying","memory","with","this","handle","but","still","can","adjust","the","mapping","if","the","underlying","shared","memory","is","resized",",","for","instance",",","by","another","process",".","This","means","that","call","to","resize","with","``","trunc","``","=","True","will","be","illegal","."]
code: def close_handle(self):
      """Closes OS handle for underlying shared memory. From now on, the process cannot resize the
      underlying memory with this handle but still can adjust the mapping if the underlying
      shared memory is resized, for instance, by another process.
      This means that call to resize with ``trunc``= True will be illegal.
      """
      self.shm.close_handle()
  
file_path: DALI/dali/python/nvidia/dali/_multiproc/shared_mem.py
imports: import os
  from nvidia.dali import backend
label_desc: Use image node_id 8 for calling the SharedMem obj's underlying member method code with example usage: obj.close_handle() without return types