summaryrefslogtreecommitdiffstats
path: root/core/modules/vmchooser2
diff options
context:
space:
mode:
authorSimon Rettberg2018-03-22 11:25:57 +0100
committerSimon Rettberg2018-03-22 11:25:57 +0100
commit7e6cc154ba60b801490fb731f9fc876f890c1bd5 (patch)
treed53e0927f496fb6c6d667f7c9e232edf42e800e0 /core/modules/vmchooser2
parent[run-virt] Honor SLX_VM_NFS_OPTS when mounting (diff)
downloadmltk-7e6cc154ba60b801490fb731f9fc876f890c1bd5.tar.gz
mltk-7e6cc154ba60b801490fb731f9fc876f890c1bd5.tar.xz
mltk-7e6cc154ba60b801490fb731f9fc876f890c1bd5.zip
[vmchooser2] When autologin is enabled, delay startup if needed to prevent OOM
Closes #3307
Diffstat (limited to 'core/modules/vmchooser2')
-rwxr-xr-xcore/modules/vmchooser2/data/opt/openslx/bin/vmchooser11
1 files changed, 11 insertions, 0 deletions
diff --git a/core/modules/vmchooser2/data/opt/openslx/bin/vmchooser b/core/modules/vmchooser2/data/opt/openslx/bin/vmchooser
index b06443ae..0e73cabe 100755
--- a/core/modules/vmchooser2/data/opt/openslx/bin/vmchooser
+++ b/core/modules/vmchooser2/data/opt/openslx/bin/vmchooser
@@ -54,6 +54,17 @@ if [ -z "${SLX_AUTOLOGIN%OFF}" ] && [ -n "$SLX_VMCHOOSER_TIMEOUT" ] && [ "$SLX_V
EXTRA="$EXTRA --autoquit $SLX_VMCHOOSER_TIMEOUT"
fi
+# Delay autologin a bit to prevent the old vm process still cleaning up while trying to
+# set up a new one -- this might lead to OOM errors
+if /opt/openslx/lightdm/is-autologin-enabled && [ -s "/run/openslx/session-killed" ]; then
+ KT=$(cat "/run/openslx/session-killed")
+ NOW=$(date +%s)
+ KT=$(( KT + 10 - NOW ))
+ if [ "$KT" -gt 0 ]; then
+ sleep "$KT"
+ fi
+fi
+
# No quotes around $EXTRA!
if [ -z "$SLX_LOCATIONS" ]; then
exec vmchooser.real "$@" --url "$URL" --fullscreen --tab "$TAB" --start-uuid "$SLX_EXAM_START" $EXTRA