parameters: (self)
docstring: Store data for next runs, set the attributes listed in :py:const:`waflib.Build.SAVED_ATTRS`. Uses a temporary
  		file to avoid problems on ctrl+c.
docstring_summary: Store data for next runs, set the attributes listed in :py:const:`waflib.Build.SAVED_ATTRS`. Uses a temporary
  		file to avoid problems on ctrl+c.
docstring_tokens: Store data for next runs set the attributes listed in : py : const : waflib . Build . SAVED_ATTRS . Uses a temporary file to avoid problems on ctrl + c .
function: def store(self):
  		"""
  		Store data for next runs, set the attributes listed in :py:const:`waflib.Build.SAVED_ATTRS`. Uses a temporary
  		file to avoid problems on ctrl+c.
  		"""
  		data = {}
  		for x in SAVED_ATTRS:
  			data[x] = getattr(self, x)
  		db = os.path.join(self.variant_dir, Context.DBFILE)
  
  		try:
  			Node.pickle_lock.acquire()
  			Node.Nod3 = self.node_class
  			x = cPickle.dumps(data, PROTOCOL)
  		finally:
  			Node.pickle_lock.release()
  
  		Utils.writef(db + '.tmp', x, m='wb')
  
  		try:
  			st = os.stat(db)
  			os.remove(db)
  			if not Utils.is_win32: # win32 has no chown but we're paranoid
  				os.chown(db + '.tmp', st.st_uid, st.st_gid)
  		except (AttributeError, OSError):
  			pass
  
  		# do not use shutil.move (copy is not thread-safe)
  		os.rename(db + '.tmp', db)
function_tokens: def store ( self ) : data = { } for x in SAVED_ATTRS : data [ x ] = getattr ( self , x ) db = os . path . join ( self . variant_dir , Context . DBFILE ) try : Node . pickle_lock . acquire ( ) Node . Nod3 = self . node_class x = cPickle . dumps ( data , PROTOCOL ) finally : Node . pickle_lock . release ( ) Utils . writef ( db + '.tmp' , x , m = 'wb' ) try : st = os . stat ( db ) os . remove ( db ) if not Utils . is_win32 : # win32 has no chown but we're paranoid os . chown ( db + '.tmp' , st . st_uid , st . st_gid ) except ( AttributeError , OSError ) : pass # do not use shutil.move (copy is not thread-safe) os . rename ( db + '.tmp' , db )