Maintenance Ruby 3.3 gets fixes, but no new features. Switch to Ruby 4.0 →
instance method
PStore#save_data_with_atomic_file_rename_strategy
save_data_with_atomic_file_rename_strategy(data, file)
lib/pstore.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.3.0/lib/pstore.rb, line 690
def save_data_with_atomic_file_rename_strategy(data, file)
temp_filename = "#{@filename}.tmp.#{Process.pid}.#{rand 1000000}"
temp_file = File.new(temp_filename, **WR_ACCESS)
begin
temp_file.flock(File::LOCK_EX)
temp_file.write(data)
temp_file.flush
File.rename(temp_filename, @filename)
rescue
File.unlink(temp_file) rescue nil
raise
ensure
temp_file.close
end
end
No documentation available