Index: /trunk/include/parrot/thr_windows.h
===================================================================
--- /trunk/include/parrot/thr_windows.h (revision 37201)
+++ /trunk/include/parrot/thr_windows.h (revision 39873)
@@ -124,11 +124,11 @@
 typedef void (*Cleanup_Handler)(void *);
-#ifndef _STRUCT_TIMESPEC
-#  define _STRUCT_TIMESPEC
+#ifndef HAVE_STRUCT_TIMESPEC
+#  define HAVE_STRUCT_TIMESPEC
 struct timespec {
     time_t tv_sec;
     long tv_nsec;
 };
-#endif /* _STRUCT_TIMESPEC */
+#endif /* HAVE_STRUCT_TIMESPEC */
# undef CONST
I'd just like to add that I don't really think that Parrot's to blame here, but rather pthreads-win32. I first got in touch with the "struct timespec" issue when trying to cross-compile ruby-svn, which uses pthreads, with MinGW GCC 3.4.5. (The pthreads headers weren't bundled yet, though the library files were already included since they seem to have built MinGW itself with pthreads support.) Back then I came to a similiar conclusion though wanted to check on who's to blame. So I searched my VirtualBox Ubuntu's include directory (since I'm not that familiar with the structure of *nix systems) and found out that: 1) _STRUCT_TIMESPEC appears to be used on *nix OS (I have to admit that only checking Ubuntu might not allow me to say that, but since Ruby also used this variant I think I should be right.) 2) _STRUCT_TIMESPEC is actually defined somewhere within sys/time.h (or one of the included headers) and is only defined in pthreads-win32's pthread.h because by default it's not defined within MinGW. So I think that it's rather pthreads-win32 that's responsible for this issue than Parrot and I suggest we should contact pthreads-win32 and/or MinGW about it.
Any other opinions?

--MoC

_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to