#!/bin/sh
# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

LOG_PATH="$1"
RETRY=10
PID=

echo_time() {
  # The format is the same as timberslide.cc
  date +"[%m%d/%H%M%S.%N INFO] $*"
}

has_file_opened() {
  local pid="$1"
  local filename="$2"
  for f in /proc/"${pid}"/fd/*; do
    if [ "$(readlink "${f}")" = "${filename}" ]; then
      return 0
    fi
  done
  return 1
}

while [ "${RETRY}" -gt 0 ] && [ -z "${PID}" ]; do
  PID=$(initctl status timberslide LOG_PATH="${LOG_PATH}" | \
    awk 'NF>1{print $NF}')
  RETRY=$((RETRY-1))
  sleep 0.2
done

if [ -z "${PID}" ]; then
  echo_time "Could not find timberslide LOG_PATH=${LOG_PATH}, maybe stop?"
  exit 1
fi

# Check if the debugfs is deleted.
# The readlink filename would be changed to "${LOG_PATH} (deleted)" when the
# file is deleted.
while has_file_opened "${PID}" "${LOG_PATH}"; do
  # EC logs are fetched per 10 seconds, so check the status per 5 second should
  # be sufficient.
  sleep 5
done

echo_time "${LOG_PATH} is deleted, restarting timberslide"
initctl stop timberslide LOG_PATH="${LOG_PATH}"
# Ensure logs are flushed
sync
initctl start timberslide LOG_PATH="${LOG_PATH}"

# exit with 1 to let upstart restart timberslide-watcher service.
exit 1
