Skip to content

Commit dd773a9

Browse files
Code Improvements
Some code improvements in the script-locking mechanism.
1 parent bb138e9 commit dd773a9

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

MerlinAU.sh

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -328,9 +328,13 @@ _WaitForYESorNO_()
328328
}
329329

330330
##----------------------------------------##
331-
## Modified by Martinski W. [2025-Jan-09] ##
331+
## Modified by Martinski W. [2025-Jan-11] ##
332332
##----------------------------------------##
333333
readonly LockFilePath="/tmp/var/${ScriptFNameTag}.LOCK"
334+
readonly LockTypeRegEx="(cliMenuLock|cliOptsLock|cliFileLock)"
335+
336+
_FindLockFileTypes_()
337+
{ grep -woE "$LockTypeRegEx" "$LockFilePath" | tr '\n' ' ' | sed 's/[ ]*$//' ; }
334338

335339
_ReleaseLock_()
336340
{
@@ -374,13 +378,13 @@ else
374378
fi
375379

376380
##----------------------------------------##
377-
## Modified by Martinski W. [2025-Jan-09] ##
381+
## Modified by Martinski W. [2025-Jan-11] ##
378382
##----------------------------------------##
379383
_AcquireLock_()
380384
{
381385
local retCode waitTimeoutSecs
382386
local lockFileSecs ageOfLockSecs oldPID
383-
local lockTypeReq lockTypeFound lockTypeRegEx
387+
local lockTypeReq lockTypeFound
384388

385389
if [ $# -gt 0 ] && [ -n "$1" ]
386390
then lockTypeReq="$1"
@@ -394,13 +398,8 @@ _AcquireLock_()
394398
then _CreateLockFile_ ; return 0
395399
fi
396400

397-
lockTypeFound=""
398-
lockTypeRegEx="(cliMenuLock|cliOptsLock|cliFileLock)"
399-
400-
_FindLockTypes_()
401-
{ grep -woE "$lockTypeRegEx" "$LockFilePath" | tr '\n' ' ' | sed 's/[ ]*$//' ; }
402-
403401
retCode=1
402+
lockTypeFound=""
404403
waitTimeoutSecs=0
405404

406405
while true
@@ -409,7 +408,7 @@ _AcquireLock_()
409408
then
410409
oldPID="$(head -n1 "$LockFilePath" | awk -F '|' '{print $1}')"
411410
lockFileSecs="$(date +%s -r "$LockFilePath")"
412-
lockTypeFound="$(_FindLockTypes_)"
411+
lockTypeFound="$(_FindLockFileTypes_)"
413412
if [ "$lockTypeReq" != "cliAnyLock" ] && \
414413
! echo "$lockTypeFound" | grep -qw "$lockTypeReq"
415414
then # Specific "Lock Type" NOT found #
@@ -8882,10 +8881,14 @@ _EnableFWAutoUpdateChecks_()
88828881
}
88838882

88848883
##----------------------------------------##
8885-
## Modified by Martinski W. [2025-Jan-05] ##
8884+
## Modified by Martinski W. [2025-Jan-11] ##
88868885
##----------------------------------------##
88878886
_ConfirmCronJobForFWAutoUpdates_()
88888887
{
8888+
if [ $# -gt 0 ] && [ -n "$1" ] && \
8889+
echo "$1" | grep -qE "^(install|startup)$"
8890+
then return 1 ; fi
8891+
88898892
# Check if the PREVIOUS Cron Job ID already exists #
88908893
if eval $cronListCmd | grep -qE "$CRON_JOB_RUN #${CRON_JOB_TAG_OLD}#$"
88918894
then #If it exists, delete the OLD one & create a NEW one#
@@ -9981,7 +9984,7 @@ then
99819984

99829985
inMenuMode=false
99839986
_DoInitializationStartup_ "$1"
9984-
_ConfirmCronJobForFWAutoUpdates_
9987+
_ConfirmCronJobForFWAutoUpdates_ "$1"
99859988

99869989
case "$1" in
99879990
run_now)

0 commit comments

Comments
 (0)