[newlib-cygwin] Cygwin: posix timers: move definition of timer_tracker class to new timer.h
Corinna Vinschen
corinna@sourceware.org
Sat Jan 12 20:26:00 GMT 2019
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=c406bea20b45f8cf4bdbf18c6abaacfd16f6b4f2
commit c406bea20b45f8cf4bdbf18c6abaacfd16f6b4f2
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Fri Jan 11 19:40:03 2019 +0100
Cygwin: posix timers: move definition of timer_tracker class to new timer.h
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/timer.cc | 30 +-----------------------------
winsup/cygwin/timer.h | 41 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 42 insertions(+), 29 deletions(-)
diff --git a/winsup/cygwin/timer.cc b/winsup/cygwin/timer.cc
index 39a0f9d..e92cbad 100644
--- a/winsup/cygwin/timer.cc
+++ b/winsup/cygwin/timer.cc
@@ -14,37 +14,9 @@ details. */
#include "fhandler.h"
#include "dtable.h"
#include "cygheap.h"
+#include "timer.h"
#include <sys/param.h>
-#define TT_MAGIC 0x513e4a1c
-class timer_tracker
-{
- unsigned magic;
- timer_tracker *next;
-
- clockid_t clock_id;
- sigevent evp;
- timespec it_interval;
- HANDLE hcancel;
- HANDLE syncthread;
- long long interval_us;
- long long sleepto_us;
-
- bool cancel ();
-
- public:
- timer_tracker (clockid_t, const sigevent *);
- ~timer_tracker ();
- inline bool is_timer_tracker () { return magic == TT_MAGIC; }
-
- void gettime (itimerspec *);
- int settime (int, const itimerspec *, itimerspec *);
- int clean_and_unhook ();
-
- DWORD thread_func ();
- void fixup_after_fork ();
-};
-
timer_tracker NO_COPY ttstart (CLOCK_REALTIME, NULL);
class lock_timer_tracker
diff --git a/winsup/cygwin/timer.h b/winsup/cygwin/timer.h
new file mode 100644
index 0000000..9a35eb3
--- /dev/null
+++ b/winsup/cygwin/timer.h
@@ -0,0 +1,41 @@
+/* timer.h: Define class timer_tracker, base class for timer handling
+
+This file is part of Cygwin.
+
+This software is a copyrighted work licensed under the terms of the
+Cygwin license. Please consult the file "CYGWIN_LICENSE" for
+details. */
+
+#ifndef __TIMER_H__
+#define __TIMER_H__
+
+#define TT_MAGIC 0x513e4a1c
+class timer_tracker
+{
+ unsigned magic;
+ timer_tracker *next;
+
+ clockid_t clock_id;
+ sigevent evp;
+ timespec it_interval;
+ HANDLE hcancel;
+ HANDLE syncthread;
+ long long interval_us;
+ long long sleepto_us;
+
+ bool cancel ();
+
+ public:
+ timer_tracker (clockid_t, const sigevent *);
+ ~timer_tracker ();
+ inline bool is_timer_tracker () { return magic == TT_MAGIC; }
+
+ void gettime (itimerspec *);
+ int settime (int, const itimerspec *, itimerspec *);
+ int clean_and_unhook ();
+
+ DWORD thread_func ();
+ void fixup_after_fork ();
+};
+
+#endif /* __TIMER_H__ */
More information about the Cygwin-cvs
mailing list