Skip to content

Commit 0e4e1c5

Browse files
authored
Merge pull request #211 from mglae/le10_no_executebuildin_reboot
Work around deadlock when calling xbmc.executebuildin(Reboot)
2 parents e0ed780 + 5a63da8 commit 0e4e1c5

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

resources/lib/modules/system.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import tarfile
1616
import oeWindows
1717
from xml.dom import minidom
18+
import subprocess
1819

1920
xbmcDialog = xbmcgui.Dialog()
2021

@@ -393,15 +394,15 @@ def reset_xbmc(self, listItem=None):
393394
open(self.XBMC_RESET_FILE, 'a').close()
394395
oe.winOeMain.close()
395396
oe.xbmcm.waitForAbort(1)
396-
xbmc.executebuiltin('Reboot')
397+
subprocess.call(['/usr/bin/systemctl', '--no-block', 'reboot'], close_fds=True)
397398

398399
@log.log_function()
399400
def reset_oe(self, listItem=None):
400401
if self.ask_sure_reset('Hard') == 1:
401402
open(self.LIBREELEC_RESET_FILE, 'a').close()
402403
oe.winOeMain.close()
403404
oe.xbmcm.waitForAbort(1)
404-
xbmc.executebuiltin('Reboot')
405+
subprocess.call(['/usr/bin/systemctl', '--no-block', 'reboot'], close_fds=True)
405406

406407
@log.log_function()
407408
def ask_sure_reset(self, part):
@@ -492,7 +493,7 @@ def do_restore(self, listItem=None):
492493
if oe.reboot_counter(10, oe._(32371)) == 1:
493494
oe.winOeMain.close()
494495
oe.xbmcm.waitForAbort(1)
495-
xbmc.executebuiltin('Reboot')
496+
subprocess.call(['/usr/bin/systemctl', '--no-block', 'reboot'], close_fds=True)
496497
else:
497498
log.log('User Abort!')
498499
oe.execute(f'rm -rf {self.RESTORE_DIR}')

resources/lib/modules/updates.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ def do_autoupdate(self, listItem=None, silent=False):
502502
if silent == False:
503503
oe.winOeMain.close()
504504
oe.xbmcm.waitForAbort(1)
505-
xbmc.executebuiltin('Reboot')
505+
subprocess.call(['/usr/bin/systemctl', '--no-block', 'reboot'], close_fds=True)
506506
else:
507507
delattr(self, 'update_in_progress')
508508

0 commit comments

Comments
 (0)