summaryrefslogtreecommitdiffstats
path: root/lib/remote/report.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/remote/report.sh')
-rw-r--r--lib/remote/report.sh27
1 files changed, 18 insertions, 9 deletions
diff --git a/lib/remote/report.sh b/lib/remote/report.sh
index 434c6aa..c4373a3 100644
--- a/lib/remote/report.sh
+++ b/lib/remote/report.sh
@@ -3,13 +3,22 @@ function simple_report {
local filter="${2:-cat}"
# Create fd12 (sending empty output), execute checks (writting extra info on fd12), print main info and store extra info into variable, wait for termination of async checks.
- {
- chmod +w /dev/fd/12
- eval "$generator 12>/dev/fd/12 | $filter"
- report=$(cat<&12)
- } 12<<EOF
-EOF
- wait
+# {
+# chmod +w /dev/fd/12
+# eval "$generator 12>/dev/fd/12 | $filter"
+# report=$(cat<&12)
+# } 12<<EOF
+#EOF
+# wait
+
+ fifo=$(mktemp -u) ; mkfifo "$fifo"
+ eval "$generator 12>$fifo | $filter" &
+ genpid=$!
+
+ report_text=$(cat "$fifo")
+ wait "$genpid"
+ rm -f "$fifo"
+
}
@@ -30,7 +39,7 @@ function standart_report {
configure_palete "$palete"
simple_report "$generator" "$filter"
- print "$report"
+ print "$report_text"
echo
finish
}
@@ -38,7 +47,7 @@ function standart_report {
function report {
# Eval breaks output for some reason
- case $report in
+ case $report_style in
simple_report)
simple_report "$@"
;;