<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -35,6 +35,8 @@
 #include &lt;stdbool.h&gt;
 #ifndef _WIN32
 #  include &lt;unistd.h&gt;
+#else
+#  include &lt;windows.h&gt;
 #endif
 #include &lt;errno.h&gt;
 #include &lt;ruby.h&gt;
@@ -111,7 +113,7 @@ rbffi_ClosurePool_New(int closureSize,
     pool-&gt;prep = prep;
     pool-&gt;refcnt = 1;
     
-#if defined(HAVE_NATIVETHREAD) &amp;&amp; !defined(_WIN32) &amp;&amp; !defined(__WIN32__)
+#if defined(HAVE_NATIVETHREAD) &amp;&amp; !defined(_WIN32)
     pthread_mutex_init(&amp;pool-&gt;mutex, NULL);
 #endif
 
@@ -253,7 +255,7 @@ rbffi_Closure_CodeAddress(Closure* handle)
 static int
 getPageSize()
 {
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__WIN32__)
     SYSTEM_INFO si;
     GetSystemInfo(&amp;si);
     return si.dwPageSize;
@@ -265,7 +267,7 @@ getPageSize()
 static void*
 allocatePage(void)
 {
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__WIN32__)
     return VirtualAlloc(NULL, pageSize, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
 #else
     caddr_t page = mmap(NULL, pageSize, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0);
@@ -276,7 +278,7 @@ allocatePage(void)
 static bool
 freePage(void *addr)
 {
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__WIN32__)
     return VirtualFree(addr, 0, MEM_RELEASE);
 #else
     return munmap(addr, pageSize) == 0;
@@ -286,7 +288,7 @@ freePage(void *addr)
 static bool
 protectPage(void* page)
 {
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__WIN32__)
     DWORD oldProtect;
     return VirtualProtect(page, pageSize, PAGE_EXECUTE_READ, &amp;oldProtect);
 #else</diff>
      <filename>ext/ffi_c/ClosurePool.c</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@
 #include &lt;sys/param.h&gt;
 #include &lt;sys/types.h&gt;
 
-#ifdef __linux__
+#if defined(__linux__) || defined(__CYGWIN__)
 #  include_next &lt;endian.h&gt;
 #endif
 </diff>
      <filename>ext/ffi_c/endian.h</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>b84a2e1ea892949be2684f0266bd187014c475f5</id>
    </parent>
  </parents>
  <author>
    <name>Wayne Meissner</name>
    <email>wmeissner@gmail.com</email>
  </author>
  <url>http://github.com/ffi/ffi/commit/8f797195af87052ef73f43feafb286d206bc9d52</url>
  <id>8f797195af87052ef73f43feafb286d206bc9d52</id>
  <committed-date>2009-11-05T11:38:48-08:00</committed-date>
  <authored-date>2009-11-05T11:38:48-08:00</authored-date>
  <message>Apply cygwin patches from Joe Khoobyar &lt;joe@ankhcraft.com&gt;</message>
  <tree>2bb32ca020d09c62754a8193d5793776b0a223e5</tree>
  <committer>
    <name>Wayne Meissner</name>
    <email>wmeissner@gmail.com</email>
  </committer>
</commit>
