ne bloque pas inutilement (aide et vérification des...
...paramètres)
... | ... |
@@ -5,15 +5,6 @@ set -e |
5 | 5 |
# on n'autorise qu'une seule exécution à la fois |
6 | 6 |
process_token=$(mktemp --dry-run /dev/shm/XXXXXXXXXXXXXXXX) |
7 | 7 |
token_file="$process_token.${0##*/}" |
8 |
-touch $token_file |
|
9 |
-while true; do |
|
10 |
- if ls -1rt /dev/shm/*."${0##*/}" | head -1 | grep -q "^$token_file$"; then |
|
11 |
- # c'est notre tour |
|
12 |
- break |
|
13 |
- else |
|
14 |
- sleep 5 |
|
15 |
- fi |
|
16 |
-done |
|
17 | 8 |
|
18 | 9 |
for tool in sqlite3 getopt mktemp w3m jq; do |
19 | 10 |
which $tool > /dev/null 2>&1 || { |
... | ... |
@@ -419,6 +410,7 @@ EOcontent |
419 | 410 |
} |
420 | 411 |
|
421 | 412 |
function save_database () { |
413 |
+ rm -f "$token_file" |
|
422 | 414 |
test -n "$result" -a -d "/dev/shm/$result" && rm -fr "/dev/shm/$result" |
423 | 415 |
test -n "$database" -a -n "$in_ram_database" || return |
424 | 416 |
if test "$envoi_par_mail" = $true_flag; then |
... | ... |
@@ -463,7 +455,7 @@ EOC |
463 | 455 |
else |
464 | 456 |
echo "je ne peux rien faire avec $database !" |
465 | 457 |
fi |
466 |
- rm -f "$in_ram_database" "$tempfile" "$token_file" |
|
458 |
+ rm -f "$in_ram_database" "$tempfile" |
|
467 | 459 |
} |
468 | 460 |
|
469 | 461 |
function dernier_scrutin_public () { |
... | ... |
@@ -640,6 +632,15 @@ done |
640 | 632 |
|
641 | 633 |
test "$options_error" = $true_flag && exit 1 |
642 | 634 |
|
635 |
+while true; do |
|
636 |
+ if ls -1rt /dev/shm/*."${0##*/}" | head -1 | grep -q "^$token_file$"; then |
|
637 |
+ # c'est notre tour |
|
638 |
+ break |
|
639 |
+ else |
|
640 |
+ sleep 5 |
|
641 |
+ fi |
|
642 |
+done |
|
643 |
+ |
|
643 | 644 |
in_ram_database=$process_token.db |
644 | 645 |
if test -r "$database"; then |
645 | 646 |
cp "$database" "$in_ram_database" |