[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