Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/local_includes/debug.h')
-rw-r--r--winsup/cygwin/local_includes/debug.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/winsup/cygwin/local_includes/debug.h b/winsup/cygwin/local_includes/debug.h
new file mode 100644
index 000000000..0fcfa13a5
--- /dev/null
+++ b/winsup/cygwin/local_includes/debug.h
@@ -0,0 +1,77 @@
+/* debug.h
+
+This software is a copyrighted work licensed under the terms of the
+Cygwin license. Please consult the file "CYGWIN_LICENSE" for
+details. */
+
+#if !defined(_DEBUG_H_)
+#define _DEBUG_H_
+
+#define being_debugged() (IsDebuggerPresent ())
+
+#ifndef DEBUGGING
+# define cygbench(s)
+# define ForceCloseHandle CloseHandle
+# define ForceCloseHandle1(h, n) CloseHandle (h)
+# define ForceCloseHandle2(h, n) CloseHandle (h)
+# define ModifyHandle(h, n) do {} while (0)
+# define ProtectHandle(h) do {} while (0)
+# define ProtectHandle1(h,n) do {} while (0)
+# define ProtectHandle2(h,n) do {} while (0)
+# define ProtectHandleINH(h) do {} while (0)
+# define ProtectHandle1INH(h,n) do {} while (0)
+# define ProtectHandle2INH(h,n) do {} while (0)
+# define debug_init() do {} while (0)
+# define setclexec(h, nh, b) do {} while (0)
+# define debug_fixup_after_fork_exec() do {} while (0)
+# define VerifyHandle(h) do {} while (0)
+# define console_printf small_printf
+
+#else
+
+# ifdef NO_DEBUG_DEFINES
+# undef NO_DEBUG_DEFINES
+# else
+# define CloseHandle(h) \
+ close_handle (__PRETTY_FUNCTION__, __LINE__, (h), #h, FALSE)
+# define ForceCloseHandle(h) \
+ close_handle (__PRETTY_FUNCTION__, __LINE__, (h), #h, TRUE)
+# define ForceCloseHandle1(h,n) \
+ close_handle (__PRETTY_FUNCTION__, __LINE__, (h), #n, TRUE)
+# define ForceCloseHandle2(h,n) \
+ close_handle (__PRETTY_FUNCTION__, __LINE__, (h), n, TRUE)
+# endif
+
+# define ModifyHandle(h, n) modify_handle (__PRETTY_FUNCTION__, __LINE__, (h), #h, n)
+
+# define ProtectHandle(h) add_handle (__PRETTY_FUNCTION__, __LINE__, (h), #h)
+# define ProtectHandle1(h, n) add_handle (__PRETTY_FUNCTION__, __LINE__, (h), #n)
+# define ProtectHandle2(h, n) add_handle (__PRETTY_FUNCTION__, __LINE__, (h), n)
+# define ProtectHandleINH(h) add_handle (__PRETTY_FUNCTION__, __LINE__, (h), #h, 1)
+# define ProtectHandle1INH(h, n) add_handle (__PRETTY_FUNCTION__, __LINE__, (h), #n, 1)
+# define ProtectHandle2INH(h, n) add_handle (__PRETTY_FUNCTION__, __LINE__, (h), n, 1)
+# define VerifyHandle(h) verify_handle (__PRETTY_FUNCTION__, __LINE__, (h))
+
+void debug_init ();
+void add_handle (const char *, int, HANDLE, const char *, bool = false);
+void verify_handle (const char *, int, HANDLE);
+bool close_handle (const char *, int, HANDLE, const char *, bool);
+extern "C" void console_printf (const char *fmt,...);
+void cygbench (const char *s);
+void modify_handle (const char *, int, HANDLE, const char *, bool);
+void setclexec (HANDLE, HANDLE, bool);
+void debug_fixup_after_fork_exec ();
+
+struct handle_list
+ {
+ HANDLE h;
+ const char *name;
+ const char *func;
+ int ln;
+ bool inherited;
+ DWORD pid;
+ struct handle_list *next;
+ };
+
+#endif /*DEBUGGING*/
+#endif /*_DEBUG_H_*/