(self, **kwargs)
Use this function to implement the ending of a specific type
		of eye tracking.
Use this function to implement the ending of a specific type
		of eye tracking.
Use this function to implement the ending of a specific type of eye tracking .
def close(self, **kwargs):
		
		"""Use this function to implement the ending of a specific type
		of eye tracking.
		"""
		
		# Only close the connection EyeTracker if it isn't closed yet.
		if self._connected:

			# Signal the _frame_obtainer that the tracker isn't connected
			# anymore.
			self._connected = False
			
			# Signal all Threads and Processes that they should stop.
			self._alive.clear()
			
			# Wait for all frame-processing Processes to join.
			for p in self._frame_processes:
				p.join()
			
			# Wait for the frame-obtaining Thread to join.
			self._frame_obtainer_thread.join()
			
			# Wait for the logging Thread to join.
			self._sample_logging_thread.join()
			
			# Call the custom closing implementation.
			self._close(**kwargs)
def close ( self , * * kwargs ) : # Only close the connection EyeTracker if it isn't closed yet. if self . _connected : # Signal the _frame_obtainer that the tracker isn't connected # anymore. self . _connected = False # Signal all Threads and Processes that they should stop. self . _alive . clear ( ) # Wait for all frame-processing Processes to join. for p in self . _frame_processes : p . join ( ) # Wait for the frame-obtaining Thread to join. self . _frame_obtainer_thread . join ( ) # Wait for the logging Thread to join. self . _sample_logging_thread . join ( ) # Call the custom closing implementation. self . _close ( * * kwargs )