diff --git a/xorriso-dd-target/xorriso-dd-target b/xorriso-dd-target/xorriso-dd-target index 5544fa0e..f8cafd83 100755 --- a/xorriso-dd-target/xorriso-dd-target +++ b/xorriso-dd-target/xorriso-dd-target @@ -317,6 +317,10 @@ list_long() { ## Trying to find the desired device by watching plug-in effects plug_in_watcher() { + # How long to wait for a first device to appear, how long to wait for more + wait_span_0=10 + wait_span_1=5 + found_devices= echo >&2 echo "Caused by option -plug_test: Attempt to find the desired device" >&2 @@ -339,26 +343,23 @@ plug_in_watcher() { echo "Step 2:" >&2 echo "Please plug in the desired target device and then press the Enter key." >&2 read dummy - echo -n "Waiting up to 10 seconds for a new device to be listed ..." >&2 - end_time="$(expr $(date +'%s') + 10)" + echo -n "Waiting up to $wait_span_0 seconds for a new device to be listed ..." >&2 + end_time="$(expr $(date +'%s') + "$wait_span_0")" while test $(date +'%s') -le "$end_time" do new_device_list=' '$(collect_devices)' ' - if test "$old_device_list" = "$new_device_list" - then - sleep 1 - echo -n '.' >&2 - else - for i in $new_device_list - do - if echo "$old_device_list" | grep -F -v ' '"$i"' ' >/dev/null - then - found_devices="$found_devices $i" - fi - # Break the waiting loop - end_time=0 - done - fi + for i in $new_device_list + do + if echo "$old_device_list $found_devices " | grep -F -v ' '"$i"' ' >/dev/null + then + echo " found: $i" >&2 + found_devices="$found_devices $i" + end_time=$(expr $(date +'%s') + "$wait_span_1") + echo -n "Now waiting $wait_span_1 seconds to let it settle ..." >&2 + fi + done + sleep 1 + echo -n '.' >&2 done echo >&2 if test -z "$found_devices" @@ -388,8 +389,6 @@ plug_in_watcher() { devs=$(echo -n $found_devices) echo >&2 - # Give new device a second to settle - sleep 1 return 0 } diff --git a/xorriso-dd-target/xorriso-dd-target.1 b/xorriso-dd-target/xorriso-dd-target.1 index 9abc4022..b2ed37d3 100644 --- a/xorriso-dd-target/xorriso-dd-target.1 +++ b/xorriso-dd-target/xorriso-dd-target.1 @@ -220,7 +220,9 @@ Please plug in the desired target device and then press the Enter key. .br .br -Waiting up to 10 seconds for a new device to be listed ... +Waiting up to 10 seconds for a new device to be listed ... found: sdd +.br +Now waiting 5 seconds to let it settle ......... .br Found and noted as desired device: sdd .br diff --git a/xorriso-dd-target/xorriso-dd-target.info b/xorriso-dd-target/xorriso-dd-target.info index bf449508..b7fc6037 100644 --- a/xorriso-dd-target/xorriso-dd-target.info +++ b/xorriso-dd-target/xorriso-dd-target.info @@ -188,7 +188,9 @@ Step 2: Please plug in the desired target device and then press the Enter key. - Waiting up to 10 seconds for a new device to be listed ... + Waiting up to 10 seconds for a new device to be listed ... found: +sdd +Now waiting 5 seconds to let it settle ......... Found and noted as desired device: sdd @@ -532,16 +534,16 @@ Node: Simplenames2792 Node: Listall3516 Node: Givendevices5089 Node: Plugtest6053 -Node: Dowrite7893 -Node: Unwise9008 -Node: Reasons10520 -Node: Options13101 -Node: Examples15903 -Node: Files16076 -Node: Seealso16234 -Node: Bugreport16400 -Node: Legal16987 -Node: CommandIdx17691 -Node: ConceptIdx18811 +Node: Dowrite7954 +Node: Unwise9069 +Node: Reasons10581 +Node: Options13162 +Node: Examples15964 +Node: Files16137 +Node: Seealso16295 +Node: Bugreport16461 +Node: Legal17048 +Node: CommandIdx17752 +Node: ConceptIdx18872  End Tag Table diff --git a/xorriso-dd-target/xorriso-dd-target.texi b/xorriso-dd-target/xorriso-dd-target.texi index e62f7aca..778453f2 100644 --- a/xorriso-dd-target/xorriso-dd-target.texi +++ b/xorriso-dd-target/xorriso-dd-target.texi @@ -322,7 +322,9 @@ Please plug in the desired target device and then press the Enter key. @* @* -Waiting up to 10 seconds for a new device to be listed ... +Waiting up to 10 seconds for a new device to be listed ... found: sdd +@* +Now waiting 5 seconds to let it settle ......... @* Found and noted as desired device: sdd @*