OSDN Git Service

Enable to track git://github.com/monaka/binutils.git
[pf3gnuchains/pf3gnuchains3x.git] / winsup / mingw / mthr_stub.c
diff --git a/winsup/mingw/mthr_stub.c b/winsup/mingw/mthr_stub.c
new file mode 100644 (file)
index 0000000..e337b9a
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * mthr_stub.c
+ *
+ * Implement Mingw thread-support stubs for single-threaded C++ apps.
+ *
+ * This file is used by if gcc is built with --enable-threads=win32 and
+ * iff gcc does *NOT* use -mthreads option. 
+ *
+ * The -mthreads implementation is in mthr.c.
+ *
+ * Created by Mumit Khan  <khan@nanotech.wisc.edu>
+ *
+ */
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#undef WIN32_LEAN_AND_MEAN
+
+/*
+ * __mingwthr_register_key_dtor (DWORD key, void (*dtor) (void *))
+ *
+ * Public interface called by C++ exception handling mechanism in
+ * libgcc (cf: __gthread_key_create).
+ * No-op versions.
+ */
+
+int
+__mingwthr_key_dtor (DWORD key, void (*dtor) (void *))
+{
+#ifdef DEBUG
+  printf ("%s: ignoring key: (%ld) / dtor: (%x)\n", 
+          __FUNCTION__, key, dtor);
+#endif
+  return 0;
+}
+
+int
+__mingwthr_remove_key_dtor (DWORD key )
+{
+#ifdef DEBUG
+  printf ("%s: ignoring key: (%ld)\n", __FUNCTION__, key );
+#endif
+  return 0;
+}