Add WatchDog class to kill process after a timeout.

Change-Id: I014e8a1148b5b0e731b14c39d2410aaedd877d2f
Bug: 72652321
diff --git a/Android.bp b/Android.bp
index 95237e3..98e5208 100644
--- a/Android.bp
+++ b/Android.bp
@@ -28,6 +28,7 @@
     "src/base/page_allocator.cc",
     "src/base/thread_checker.cc",
     "src/base/unix_task_runner.cc",
+    "src/base/watchdog.cc",
     "src/ftrace_reader/cpu_reader.cc",
     "src/ftrace_reader/event_info.cc",
     "src/ftrace_reader/event_info_constants.cc",
@@ -100,6 +101,7 @@
     "src/base/page_allocator.cc",
     "src/base/thread_checker.cc",
     "src/base/unix_task_runner.cc",
+    "src/base/watchdog.cc",
     "src/ipc/buffered_frame_deserializer.cc",
     "src/ipc/client_impl.cc",
     "src/ipc/deferred.cc",
@@ -187,6 +189,7 @@
     "src/base/test/vm_test_utils.cc",
     "src/base/thread_checker.cc",
     "src/base/unix_task_runner.cc",
+    "src/base/watchdog.cc",
     "src/ftrace_reader/cpu_reader.cc",
     "src/ftrace_reader/end_to_end_integrationtest.cc",
     "src/ftrace_reader/event_info.cc",
@@ -912,6 +915,7 @@
     "src/base/page_allocator.cc",
     "src/base/thread_checker.cc",
     "src/base/unix_task_runner.cc",
+    "src/base/watchdog.cc",
     "src/ipc/buffered_frame_deserializer.cc",
     "src/ipc/client_impl.cc",
     "src/ipc/deferred.cc",
@@ -1003,6 +1007,8 @@
     "src/base/thread_checker_unittest.cc",
     "src/base/unix_task_runner.cc",
     "src/base/utils_unittest.cc",
+    "src/base/watchdog.cc",
+    "src/base/watchdog_unittest.cc",
     "src/base/weak_ptr_unittest.cc",
     "src/ftrace_reader/cpu_reader.cc",
     "src/ftrace_reader/cpu_reader_unittest.cc",