Index: Orthanc-0.5.0/Resources/Patches/mongoose-patch.diff
===================================================================
--- Orthanc-0.5.0.orig/Resources/Patches/mongoose-patch.diff	2013-01-31 15:04:34.000000000 +0100
+++ Orthanc-0.5.0/Resources/Patches/mongoose-patch.diff	2013-03-07 10:25:55.102730695 +0100
@@ -1,5 +1,5 @@
---- i/mongoose/mongoose.c	2012-03-11 23:41:35.000000000 +0100
-+++ mongoose.c	2012-09-17 17:32:01.000000000 +0200
+--- /home/jodogne/Subversion/Orthanc/ThirdPartyDownloads/mongoose/mongoose.c	2012-03-11 23:41:35.000000000 +0100
++++ mongoose.c	2013-03-07 10:07:00.566266153 +0100
 @@ -92,8 +92,9 @@
  #define strtoll(x, y, z) strtol(x, y, z)
  #else
@@ -12,7 +12,22 @@
  #endif // _MSC_VER
  
  #define ERRNO   GetLastError()
-@@ -3844,10 +3845,8 @@
+@@ -253,6 +254,14 @@
+ #define MSG_NOSIGNAL 0
+ #endif
+ 
++#if __gnu_hurd__ == 1
++/**
++ * There is no limit on the length on a path under GNU Hurd, so we set
++ * it to an arbitrary constant.
++ **/
++#define PATH_MAX 4096
++#endif
++
+ typedef void * (*mg_thread_func_t)(void *);
+ 
+ static const char *http_500_error = "Internal Server Error";
+@@ -3844,10 +3853,8 @@
  }
  
  static void discard_current_request_from_buffer(struct mg_connection *conn) {
@@ -23,17 +38,16 @@
    buffered_len = conn->data_len - conn->request_len;
    assert(buffered_len >= 0);
  
-@@ -4148,7 +4147,13 @@
+@@ -4148,7 +4155,13 @@
  
    // Wait until mg_fini() stops
    while (ctx->stop_flag != 2) {
--    (void) sleep(0);
 +#if defined(__linux)
 +    usleep(100000);
 +#elif defined(_WIN32)
 +    Sleep(100);
 +#else
-+#error Support your platform here
+     (void) sleep(0);
 +#endif
    }
    free_context(ctx);
