Clean cached asar archives when quitting.
This commit is contained in:
parent
d559275711
commit
05317ad81e
2 changed files with 17 additions and 4 deletions
|
@ -6,12 +6,19 @@ util = require 'util'
|
|||
# Cache asar archive objects.
|
||||
cachedArchives = {}
|
||||
getOrCreateArchive = (p) ->
|
||||
unless cachedArchives[p]?
|
||||
cachedArchives[p] = asar.createArchive p
|
||||
cachedArchives[p]
|
||||
archive = cachedArchives[p]
|
||||
return archive if archive?
|
||||
archive = asar.createArchive p
|
||||
return false unless archive
|
||||
cachedArchives[p] = archive
|
||||
|
||||
# Clean cache on quit.
|
||||
process.on 'exit', ->
|
||||
archive.destroy() for p, archive of cachedArchives
|
||||
|
||||
# Separate asar package's path from full path.
|
||||
splitPath = (p) ->
|
||||
return [false, p] unless typeof p is 'string'
|
||||
components = p.split path.sep
|
||||
for c, i in components by -1
|
||||
if path.extname(c) is '.asar'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue