cleanup old mplayer instances after crash

fixes
https://anki.tenderapp.com/discussions/ankidesktop/31908-no-consigo-renomear-meu-nome-no-anki
This commit is contained in:
Damien Elmes 2019-02-06 09:03:39 +10:00
parent bf6e10ec88
commit 041e4dbdf0

View file

@ -142,10 +142,30 @@ def cleanupMPV():
# Mplayer in slave mode # Mplayer in slave mode
########################################################################## ##########################################################################
# if anki crashes, an old mplayer instance may be left lying around,
# which prevents renaming or deleting the profile
def cleanupOldMplayerProcesses():
import psutil
exeDir = os.path.dirname(os.path.abspath(sys.argv[0]))
for proc in psutil.process_iter(attrs=['pid', 'name', 'exe']):
if not proc.info['exe'] or proc.info['name'] != 'mplayer.exe':
continue
# not anki's bundled mplayer
if os.path.dirname(proc.info['exe']) != exeDir:
continue
print("terminating old mplayer process...")
proc.kill()
mplayerCmd = ["mplayer", "-really-quiet", "-noautosub"] mplayerCmd = ["mplayer", "-really-quiet", "-noautosub"]
if isWin: if isWin:
mplayerCmd += ["-ao", "win32"] mplayerCmd += ["-ao", "win32"]
cleanupOldMplayerProcesses()
mplayerQueue = [] mplayerQueue = []
mplayerManager = None mplayerManager = None
mplayerReader = None mplayerReader = None