mylog_flush() { local log_file="$1" local lock_file="$2" [ -z "$counter" ] && return # $logfile bei Bedarf oeffnen [ -n "$LOG_FD" ] || exec {LOG_FD}<>$lock_file dbg "logbuffer flush, logbuffer_count: ${#logbuffer} counter: ${counter}" local i if flock --exclusive --timeout 10 $LOG_FD ;then for((i=0;i<$counter;i++));do dbg "writing line >${logbuffer[$i]}< ..." echo "${logbuffer[$i]}" >>$log_file done logbuffer=() counter=0 flock --unlock $LOG_FD fi }