On 11/04/2009 11:50 AM, Erik Faye-Lund wrote:
On Wed, Nov 4, 2009 at 11:37 AM, Andrzej K. Haczewski
<ahaczewski@xxxxxxxxx> wrote:
+/*
+ * Properly defines thread routine for Windows and POSIX
+ */
+#ifndef NO_PTHREADS
+# ifndef _WIN32
+# define THREAD_FUNC(f, a) void *f(void *a)
+# define THREAD_RETURN(x) return (x)
+# else
+# define THREAD_FUNC(f, a) DWORD __stdcall f(LPVOID a)
+# define THREAD_RETURN(x) return (DWORD)(x);
+# endif
+#endif
+
Seeing how THREAD_RETURN is only called with NULL-parameter, perhaps
it would be better to do this?
+/*
+ * Properly defines thread routine for Windows and POSIX
+ */
+#ifndef NO_PTHREADS
+# ifndef _WIN32
+# define THREAD_FUNC(f, a) void *f(void *a)
+# define THREAD_RETURN() return NULL;
+# else
+# define THREAD_FUNC(f, a) DWORD __stdcall f(LPVOID a)
+# define THREAD_RETURN() return 0;
+# endif
+#endif
+
Even better, "return 0" is good under either platform (0 converts to
void *), and LPVOID is the same thing as void*, so you can just do
#ifndef _WIN32
# define THREAD_RET_TYPE DWORD __stdcall
#else
# define THREAD_RET_TYPE void *
#endif
Paolo
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html