Fix setting sigevent thread ID

The sigevent man page lists the member as sigev_notify_thread_id.  On
musl and bionic sigev_notify_thread_id is a macro pointing to the
real name.  Glibc doesn't provide sigev_notify_thread_id.  Use
the internal glibc name, sev._sigev_un, for glibc, and use
sigev_notify_thread_id for everything else.

Bug: 190084016
Test: m USE_HOST_MUSL=true
Change-Id: I25f62a56c777dfffad92a0d209269338c642af1c
diff --git a/src/base/watchdog_posix.cc b/src/base/watchdog_posix.cc
index db8a526..bd540a1 100644
--- a/src/base/watchdog_posix.cc
+++ b/src/base/watchdog_posix.cc
@@ -256,7 +256,11 @@
   struct sigevent sev = {};
   timer_t timerid;
   sev.sigev_notify = SIGEV_THREAD_ID;
+#if defined(__GLIBC__)
   sev._sigev_un._tid = base::GetThreadId();
+#else
+  sev.sigev_notify_thread_id = base::GetThreadId();
+#endif
   sev.sigev_signo = SIGABRT;
   PERFETTO_CHECK(timer_create(CLOCK_MONOTONIC, &sev, &timerid) != -1);
   timerid_ = base::make_optional(timerid);