passenger 5.0.8 → 5.0.9

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (168) hide show
  1. checksums.yaml +8 -8
  2. checksums.yaml.gz.asc +7 -7
  3. data.tar.gz.asc +7 -7
  4. data/.editorconfig +20 -0
  5. data/CHANGELOG +21 -0
  6. data/bin/passenger-install-apache2-module +3 -1
  7. data/build/agents.rb +7 -5
  8. data/build/basics.rb +3 -3
  9. data/build/common_library.rb +52 -30
  10. data/build/cxx_tests.rb +20 -13
  11. data/build/misc.rb +5 -5
  12. data/doc/Design and Architecture.html +1 -1
  13. data/doc/Design and Architecture.txt +1 -1
  14. data/doc/Packaging.html +4 -4
  15. data/doc/Packaging.txt.md +4 -4
  16. data/doc/Users guide Apache.html +22 -9
  17. data/doc/Users guide Apache.idmap.txt +4 -2
  18. data/doc/Users guide Apache.txt +2 -0
  19. data/doc/Users guide Nginx.html +22 -9
  20. data/doc/Users guide Nginx.idmap.txt +4 -2
  21. data/doc/Users guide Nginx.txt +2 -0
  22. data/doc/Users guide Standalone.html +14 -9
  23. data/doc/Users guide Standalone.idmap.txt +4 -2
  24. data/doc/users_guide_snippets/installation.txt +10 -6
  25. data/ext/apache2/Hooks.cpp +13 -2
  26. data/ext/common/ApplicationPool2/Pool/Inspection.h +8 -3
  27. data/ext/common/BackgroundEventLoop.cpp +249 -67
  28. data/ext/common/BackgroundEventLoop.h +5 -5
  29. data/ext/common/Constants.h +1 -1
  30. data/ext/common/InstanceDirectory.h +8 -6
  31. data/ext/common/ServerKit/Context.h +8 -2
  32. data/ext/common/ServerKit/FileBufferedChannel.h +262 -226
  33. data/ext/common/ServerKit/HeaderTable.h +28 -3
  34. data/ext/common/ServerKit/HttpHeaderParser.h +37 -13
  35. data/ext/common/ServerKit/HttpServer.h +17 -1
  36. data/ext/common/ServerKit/Implementation.cpp +2 -0
  37. data/ext/common/ServerKit/Server.h +25 -28
  38. data/ext/common/Utils/IOUtils.cpp +11 -0
  39. data/ext/common/Utils/ProcessMetricsCollector.h +4 -0
  40. data/ext/common/Utils/StrIntUtils.cpp +11 -7
  41. data/ext/common/Utils/StrIntUtils.h +1 -1
  42. data/ext/common/Utils/StrIntUtilsNoStrictAliasing.cpp +21 -16
  43. data/ext/common/agents/Base.cpp +6 -0
  44. data/ext/common/agents/Base.h +2 -0
  45. data/ext/common/agents/HelperAgent/AdminServer.h +25 -25
  46. data/ext/common/agents/HelperAgent/Main.cpp +37 -12
  47. data/ext/common/agents/HelperAgent/RequestHandler.h +18 -20
  48. data/ext/common/agents/HelperAgent/RequestHandler/AppResponse.h +4 -0
  49. data/ext/common/agents/HelperAgent/RequestHandler/ForwardResponse.cpp +10 -6
  50. data/ext/common/agents/HelperAgent/RequestHandler/Hooks.cpp +2 -0
  51. data/ext/common/agents/HelperAgent/RequestHandler/InitRequest.cpp +1 -1
  52. data/ext/common/agents/HelperAgent/RequestHandler/SendRequest.cpp +1 -1
  53. data/ext/common/agents/HelperAgent/RequestHandler/Utils.cpp +9 -2
  54. data/ext/common/agents/HelperAgent/ResponseCache.h +11 -11
  55. data/ext/common/agents/LoggingAgent/AdminServer.h +8 -8
  56. data/ext/common/agents/LoggingAgent/Main.cpp +6 -5
  57. data/ext/common/agents/Watchdog/AdminServer.h +13 -13
  58. data/ext/common/agents/Watchdog/Main.cpp +8 -3
  59. data/ext/libuv/.gitignore +72 -0
  60. data/ext/libuv/AUTHORS +199 -0
  61. data/ext/libuv/ChangeLog +2023 -0
  62. data/ext/libuv/LICENSE +46 -0
  63. data/ext/libuv/Makefile.am +336 -0
  64. data/ext/libuv/README.md +197 -0
  65. data/ext/libuv/checksparse.sh +233 -0
  66. data/ext/libuv/common.gypi +210 -0
  67. data/ext/libuv/configure.ac +67 -0
  68. data/ext/libuv/gyp_uv.py +96 -0
  69. data/ext/libuv/include/android-ifaddrs.h +54 -0
  70. data/ext/libuv/include/pthread-fixes.h +72 -0
  71. data/ext/libuv/include/tree.h +768 -0
  72. data/ext/libuv/include/uv-aix.h +32 -0
  73. data/ext/libuv/include/uv-bsd.h +34 -0
  74. data/ext/libuv/include/uv-darwin.h +61 -0
  75. data/ext/libuv/include/uv-errno.h +418 -0
  76. data/ext/libuv/include/uv-linux.h +34 -0
  77. data/ext/libuv/include/uv-sunos.h +44 -0
  78. data/ext/libuv/include/uv-threadpool.h +37 -0
  79. data/ext/libuv/include/uv-unix.h +383 -0
  80. data/ext/libuv/include/uv-version.h +39 -0
  81. data/ext/libuv/include/uv.h +1455 -0
  82. data/ext/libuv/libuv.pc.in +11 -0
  83. data/ext/libuv/m4/.gitignore +4 -0
  84. data/ext/libuv/m4/as_case.m4 +21 -0
  85. data/ext/libuv/m4/libuv-check-flags.m4 +319 -0
  86. data/ext/libuv/src/fs-poll.c +255 -0
  87. data/ext/libuv/src/heap-inl.h +245 -0
  88. data/ext/libuv/src/inet.c +313 -0
  89. data/ext/libuv/src/queue.h +92 -0
  90. data/ext/libuv/src/threadpool.c +303 -0
  91. data/ext/libuv/src/unix/aix.c +1240 -0
  92. data/ext/libuv/src/unix/android-ifaddrs.c +703 -0
  93. data/ext/libuv/src/unix/async.c +284 -0
  94. data/ext/libuv/src/unix/atomic-ops.h +60 -0
  95. data/ext/libuv/src/unix/core.c +985 -0
  96. data/ext/libuv/src/unix/darwin-proctitle.c +206 -0
  97. data/ext/libuv/src/unix/darwin.c +331 -0
  98. data/ext/libuv/src/unix/dl.c +83 -0
  99. data/ext/libuv/src/unix/freebsd.c +435 -0
  100. data/ext/libuv/src/unix/fs.c +1189 -0
  101. data/ext/libuv/src/unix/fsevents.c +899 -0
  102. data/ext/libuv/src/unix/getaddrinfo.c +202 -0
  103. data/ext/libuv/src/unix/getnameinfo.c +120 -0
  104. data/ext/libuv/src/unix/internal.h +314 -0
  105. data/ext/libuv/src/unix/kqueue.c +418 -0
  106. data/ext/libuv/src/unix/linux-core.c +876 -0
  107. data/ext/libuv/src/unix/linux-inotify.c +257 -0
  108. data/ext/libuv/src/unix/linux-syscalls.c +471 -0
  109. data/ext/libuv/src/unix/linux-syscalls.h +158 -0
  110. data/ext/libuv/src/unix/loop-watcher.c +63 -0
  111. data/ext/libuv/src/unix/loop.c +135 -0
  112. data/ext/libuv/src/unix/netbsd.c +368 -0
  113. data/ext/libuv/src/unix/openbsd.c +384 -0
  114. data/ext/libuv/src/unix/pipe.c +288 -0
  115. data/ext/libuv/src/unix/poll.c +113 -0
  116. data/ext/libuv/src/unix/process.c +551 -0
  117. data/ext/libuv/src/unix/proctitle.c +102 -0
  118. data/ext/libuv/src/unix/pthread-fixes.c +103 -0
  119. data/ext/libuv/src/unix/signal.c +465 -0
  120. data/ext/libuv/src/unix/spinlock.h +53 -0
  121. data/ext/libuv/src/unix/stream.c +1598 -0
  122. data/ext/libuv/src/unix/sunos.c +763 -0
  123. data/ext/libuv/src/unix/tcp.c +327 -0
  124. data/ext/libuv/src/unix/thread.c +519 -0
  125. data/ext/libuv/src/unix/timer.c +172 -0
  126. data/ext/libuv/src/unix/tty.c +265 -0
  127. data/ext/libuv/src/unix/udp.c +833 -0
  128. data/ext/libuv/src/uv-common.c +544 -0
  129. data/ext/libuv/src/uv-common.h +214 -0
  130. data/ext/libuv/src/version.c +49 -0
  131. data/ext/libuv/uv.gyp +487 -0
  132. data/ext/nginx/ContentHandler.c +21 -10
  133. data/ext/nginx/ngx_http_passenger_module.c +7 -0
  134. data/ext/oxt/implementation.cpp +9 -2
  135. data/ext/oxt/initialize.hpp +5 -1
  136. data/lib/phusion_passenger.rb +3 -3
  137. data/lib/phusion_passenger/admin_tools/instance.rb +10 -6
  138. data/lib/phusion_passenger/admin_tools/instance_registry.rb +6 -2
  139. data/lib/phusion_passenger/packaging.rb +3 -4
  140. data/lib/phusion_passenger/platform_info.rb +13 -1
  141. data/lib/phusion_passenger/platform_info/apache.rb +15 -4
  142. data/lib/phusion_passenger/platform_info/apache_detector.rb +5 -1
  143. data/lib/phusion_passenger/rack/thread_handler_extension.rb +184 -99
  144. data/lib/phusion_passenger/request_handler/thread_handler.rb +13 -6
  145. data/lib/phusion_passenger/standalone/start_command.rb +2 -2
  146. data/resources/templates/apache2/apache_install_broken.txt.erb +2 -1
  147. metadata +99 -22
  148. metadata.gz.asc +7 -7
  149. data/ext/libeio/Changes +0 -76
  150. data/ext/libeio/LICENSE +0 -36
  151. data/ext/libeio/Makefile.am +0 -15
  152. data/ext/libeio/Makefile.in +0 -694
  153. data/ext/libeio/aclocal.m4 +0 -9418
  154. data/ext/libeio/autogen.sh +0 -3
  155. data/ext/libeio/config.guess +0 -1540
  156. data/ext/libeio/config.h.in +0 -136
  157. data/ext/libeio/config.sub +0 -1779
  158. data/ext/libeio/configure +0 -14822
  159. data/ext/libeio/configure.ac +0 -22
  160. data/ext/libeio/demo.c +0 -194
  161. data/ext/libeio/ecb.h +0 -714
  162. data/ext/libeio/eio.c +0 -2818
  163. data/ext/libeio/eio.h +0 -414
  164. data/ext/libeio/install-sh +0 -520
  165. data/ext/libeio/libeio.m4 +0 -195
  166. data/ext/libeio/ltmain.sh +0 -9636
  167. data/ext/libeio/missing +0 -376
  168. data/ext/libeio/xthread.h +0 -166
@@ -0,0 +1,32 @@
1
+ /* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
2
+ *
3
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ * of this software and associated documentation files (the "Software"), to
5
+ * deal in the Software without restriction, including without limitation the
6
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
+ * sell copies of the Software, and to permit persons to whom the Software is
8
+ * furnished to do so, subject to the following conditions:
9
+ *
10
+ * The above copyright notice and this permission notice shall be included in
11
+ * all copies or substantial portions of the Software.
12
+ *
13
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
+ * IN THE SOFTWARE.
20
+ */
21
+
22
+ #ifndef UV_AIX_H
23
+ #define UV_AIX_H
24
+
25
+ #define UV_PLATFORM_LOOP_FIELDS \
26
+ int fs_fd; \
27
+
28
+ #define UV_PLATFORM_FS_EVENT_FIELDS \
29
+ uv__io_t event_watcher; \
30
+ char *dir_filename; \
31
+
32
+ #endif /* UV_AIX_H */
@@ -0,0 +1,34 @@
1
+ /* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
2
+ *
3
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ * of this software and associated documentation files (the "Software"), to
5
+ * deal in the Software without restriction, including without limitation the
6
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
+ * sell copies of the Software, and to permit persons to whom the Software is
8
+ * furnished to do so, subject to the following conditions:
9
+ *
10
+ * The above copyright notice and this permission notice shall be included in
11
+ * all copies or substantial portions of the Software.
12
+ *
13
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
+ * IN THE SOFTWARE.
20
+ */
21
+
22
+ #ifndef UV_BSD_H
23
+ #define UV_BSD_H
24
+
25
+ #define UV_PLATFORM_FS_EVENT_FIELDS \
26
+ uv__io_t event_watcher; \
27
+
28
+ #define UV_IO_PRIVATE_PLATFORM_FIELDS \
29
+ int rcount; \
30
+ int wcount; \
31
+
32
+ #define UV_HAVE_KQUEUE 1
33
+
34
+ #endif /* UV_BSD_H */
@@ -0,0 +1,61 @@
1
+ /* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
2
+ *
3
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ * of this software and associated documentation files (the "Software"), to
5
+ * deal in the Software without restriction, including without limitation the
6
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
+ * sell copies of the Software, and to permit persons to whom the Software is
8
+ * furnished to do so, subject to the following conditions:
9
+ *
10
+ * The above copyright notice and this permission notice shall be included in
11
+ * all copies or substantial portions of the Software.
12
+ *
13
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
+ * IN THE SOFTWARE.
20
+ */
21
+
22
+ #ifndef UV_DARWIN_H
23
+ #define UV_DARWIN_H
24
+
25
+ #if defined(__APPLE__) && defined(__MACH__)
26
+ # include <mach/mach.h>
27
+ # include <mach/task.h>
28
+ # include <mach/semaphore.h>
29
+ # include <TargetConditionals.h>
30
+ # define UV_PLATFORM_SEM_T semaphore_t
31
+ #endif
32
+
33
+ #define UV_IO_PRIVATE_PLATFORM_FIELDS \
34
+ int rcount; \
35
+ int wcount; \
36
+
37
+ #define UV_PLATFORM_LOOP_FIELDS \
38
+ uv_thread_t cf_thread; \
39
+ void* _cf_reserved; \
40
+ void* cf_state; \
41
+ uv_mutex_t cf_mutex; \
42
+ uv_sem_t cf_sem; \
43
+ void* cf_signals[2]; \
44
+
45
+ #define UV_PLATFORM_FS_EVENT_FIELDS \
46
+ uv__io_t event_watcher; \
47
+ char* realpath; \
48
+ int realpath_len; \
49
+ int cf_flags; \
50
+ uv_async_t* cf_cb; \
51
+ void* cf_events[2]; \
52
+ void* cf_member[2]; \
53
+ int cf_error; \
54
+ uv_mutex_t cf_mutex; \
55
+
56
+ #define UV_STREAM_PRIVATE_PLATFORM_FIELDS \
57
+ void* select; \
58
+
59
+ #define UV_HAVE_KQUEUE 1
60
+
61
+ #endif /* UV_DARWIN_H */
@@ -0,0 +1,418 @@
1
+ /* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
2
+ *
3
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ * of this software and associated documentation files (the "Software"), to
5
+ * deal in the Software without restriction, including without limitation the
6
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
+ * sell copies of the Software, and to permit persons to whom the Software is
8
+ * furnished to do so, subject to the following conditions:
9
+ *
10
+ * The above copyright notice and this permission notice shall be included in
11
+ * all copies or substantial portions of the Software.
12
+ *
13
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
+ * IN THE SOFTWARE.
20
+ */
21
+
22
+ #ifndef UV_ERRNO_H_
23
+ #define UV_ERRNO_H_
24
+
25
+ #include <errno.h>
26
+
27
+ #define UV__EOF (-4095)
28
+ #define UV__UNKNOWN (-4094)
29
+
30
+ #define UV__EAI_ADDRFAMILY (-3000)
31
+ #define UV__EAI_AGAIN (-3001)
32
+ #define UV__EAI_BADFLAGS (-3002)
33
+ #define UV__EAI_CANCELED (-3003)
34
+ #define UV__EAI_FAIL (-3004)
35
+ #define UV__EAI_FAMILY (-3005)
36
+ #define UV__EAI_MEMORY (-3006)
37
+ #define UV__EAI_NODATA (-3007)
38
+ #define UV__EAI_NONAME (-3008)
39
+ #define UV__EAI_OVERFLOW (-3009)
40
+ #define UV__EAI_SERVICE (-3010)
41
+ #define UV__EAI_SOCKTYPE (-3011)
42
+ #define UV__EAI_BADHINTS (-3013)
43
+ #define UV__EAI_PROTOCOL (-3014)
44
+
45
+ /* Only map to the system errno on non-Windows platforms. It's apparently
46
+ * a fairly common practice for Windows programmers to redefine errno codes.
47
+ */
48
+ #if defined(E2BIG) && !defined(_WIN32)
49
+ # define UV__E2BIG (-E2BIG)
50
+ #else
51
+ # define UV__E2BIG (-4093)
52
+ #endif
53
+
54
+ #if defined(EACCES) && !defined(_WIN32)
55
+ # define UV__EACCES (-EACCES)
56
+ #else
57
+ # define UV__EACCES (-4092)
58
+ #endif
59
+
60
+ #if defined(EADDRINUSE) && !defined(_WIN32)
61
+ # define UV__EADDRINUSE (-EADDRINUSE)
62
+ #else
63
+ # define UV__EADDRINUSE (-4091)
64
+ #endif
65
+
66
+ #if defined(EADDRNOTAVAIL) && !defined(_WIN32)
67
+ # define UV__EADDRNOTAVAIL (-EADDRNOTAVAIL)
68
+ #else
69
+ # define UV__EADDRNOTAVAIL (-4090)
70
+ #endif
71
+
72
+ #if defined(EAFNOSUPPORT) && !defined(_WIN32)
73
+ # define UV__EAFNOSUPPORT (-EAFNOSUPPORT)
74
+ #else
75
+ # define UV__EAFNOSUPPORT (-4089)
76
+ #endif
77
+
78
+ #if defined(EAGAIN) && !defined(_WIN32)
79
+ # define UV__EAGAIN (-EAGAIN)
80
+ #else
81
+ # define UV__EAGAIN (-4088)
82
+ #endif
83
+
84
+ #if defined(EALREADY) && !defined(_WIN32)
85
+ # define UV__EALREADY (-EALREADY)
86
+ #else
87
+ # define UV__EALREADY (-4084)
88
+ #endif
89
+
90
+ #if defined(EBADF) && !defined(_WIN32)
91
+ # define UV__EBADF (-EBADF)
92
+ #else
93
+ # define UV__EBADF (-4083)
94
+ #endif
95
+
96
+ #if defined(EBUSY) && !defined(_WIN32)
97
+ # define UV__EBUSY (-EBUSY)
98
+ #else
99
+ # define UV__EBUSY (-4082)
100
+ #endif
101
+
102
+ #if defined(ECANCELED) && !defined(_WIN32)
103
+ # define UV__ECANCELED (-ECANCELED)
104
+ #else
105
+ # define UV__ECANCELED (-4081)
106
+ #endif
107
+
108
+ #if defined(ECHARSET) && !defined(_WIN32)
109
+ # define UV__ECHARSET (-ECHARSET)
110
+ #else
111
+ # define UV__ECHARSET (-4080)
112
+ #endif
113
+
114
+ #if defined(ECONNABORTED) && !defined(_WIN32)
115
+ # define UV__ECONNABORTED (-ECONNABORTED)
116
+ #else
117
+ # define UV__ECONNABORTED (-4079)
118
+ #endif
119
+
120
+ #if defined(ECONNREFUSED) && !defined(_WIN32)
121
+ # define UV__ECONNREFUSED (-ECONNREFUSED)
122
+ #else
123
+ # define UV__ECONNREFUSED (-4078)
124
+ #endif
125
+
126
+ #if defined(ECONNRESET) && !defined(_WIN32)
127
+ # define UV__ECONNRESET (-ECONNRESET)
128
+ #else
129
+ # define UV__ECONNRESET (-4077)
130
+ #endif
131
+
132
+ #if defined(EDESTADDRREQ) && !defined(_WIN32)
133
+ # define UV__EDESTADDRREQ (-EDESTADDRREQ)
134
+ #else
135
+ # define UV__EDESTADDRREQ (-4076)
136
+ #endif
137
+
138
+ #if defined(EEXIST) && !defined(_WIN32)
139
+ # define UV__EEXIST (-EEXIST)
140
+ #else
141
+ # define UV__EEXIST (-4075)
142
+ #endif
143
+
144
+ #if defined(EFAULT) && !defined(_WIN32)
145
+ # define UV__EFAULT (-EFAULT)
146
+ #else
147
+ # define UV__EFAULT (-4074)
148
+ #endif
149
+
150
+ #if defined(EHOSTUNREACH) && !defined(_WIN32)
151
+ # define UV__EHOSTUNREACH (-EHOSTUNREACH)
152
+ #else
153
+ # define UV__EHOSTUNREACH (-4073)
154
+ #endif
155
+
156
+ #if defined(EINTR) && !defined(_WIN32)
157
+ # define UV__EINTR (-EINTR)
158
+ #else
159
+ # define UV__EINTR (-4072)
160
+ #endif
161
+
162
+ #if defined(EINVAL) && !defined(_WIN32)
163
+ # define UV__EINVAL (-EINVAL)
164
+ #else
165
+ # define UV__EINVAL (-4071)
166
+ #endif
167
+
168
+ #if defined(EIO) && !defined(_WIN32)
169
+ # define UV__EIO (-EIO)
170
+ #else
171
+ # define UV__EIO (-4070)
172
+ #endif
173
+
174
+ #if defined(EISCONN) && !defined(_WIN32)
175
+ # define UV__EISCONN (-EISCONN)
176
+ #else
177
+ # define UV__EISCONN (-4069)
178
+ #endif
179
+
180
+ #if defined(EISDIR) && !defined(_WIN32)
181
+ # define UV__EISDIR (-EISDIR)
182
+ #else
183
+ # define UV__EISDIR (-4068)
184
+ #endif
185
+
186
+ #if defined(ELOOP) && !defined(_WIN32)
187
+ # define UV__ELOOP (-ELOOP)
188
+ #else
189
+ # define UV__ELOOP (-4067)
190
+ #endif
191
+
192
+ #if defined(EMFILE) && !defined(_WIN32)
193
+ # define UV__EMFILE (-EMFILE)
194
+ #else
195
+ # define UV__EMFILE (-4066)
196
+ #endif
197
+
198
+ #if defined(EMSGSIZE) && !defined(_WIN32)
199
+ # define UV__EMSGSIZE (-EMSGSIZE)
200
+ #else
201
+ # define UV__EMSGSIZE (-4065)
202
+ #endif
203
+
204
+ #if defined(ENAMETOOLONG) && !defined(_WIN32)
205
+ # define UV__ENAMETOOLONG (-ENAMETOOLONG)
206
+ #else
207
+ # define UV__ENAMETOOLONG (-4064)
208
+ #endif
209
+
210
+ #if defined(ENETDOWN) && !defined(_WIN32)
211
+ # define UV__ENETDOWN (-ENETDOWN)
212
+ #else
213
+ # define UV__ENETDOWN (-4063)
214
+ #endif
215
+
216
+ #if defined(ENETUNREACH) && !defined(_WIN32)
217
+ # define UV__ENETUNREACH (-ENETUNREACH)
218
+ #else
219
+ # define UV__ENETUNREACH (-4062)
220
+ #endif
221
+
222
+ #if defined(ENFILE) && !defined(_WIN32)
223
+ # define UV__ENFILE (-ENFILE)
224
+ #else
225
+ # define UV__ENFILE (-4061)
226
+ #endif
227
+
228
+ #if defined(ENOBUFS) && !defined(_WIN32)
229
+ # define UV__ENOBUFS (-ENOBUFS)
230
+ #else
231
+ # define UV__ENOBUFS (-4060)
232
+ #endif
233
+
234
+ #if defined(ENODEV) && !defined(_WIN32)
235
+ # define UV__ENODEV (-ENODEV)
236
+ #else
237
+ # define UV__ENODEV (-4059)
238
+ #endif
239
+
240
+ #if defined(ENOENT) && !defined(_WIN32)
241
+ # define UV__ENOENT (-ENOENT)
242
+ #else
243
+ # define UV__ENOENT (-4058)
244
+ #endif
245
+
246
+ #if defined(ENOMEM) && !defined(_WIN32)
247
+ # define UV__ENOMEM (-ENOMEM)
248
+ #else
249
+ # define UV__ENOMEM (-4057)
250
+ #endif
251
+
252
+ #if defined(ENONET) && !defined(_WIN32)
253
+ # define UV__ENONET (-ENONET)
254
+ #else
255
+ # define UV__ENONET (-4056)
256
+ #endif
257
+
258
+ #if defined(ENOSPC) && !defined(_WIN32)
259
+ # define UV__ENOSPC (-ENOSPC)
260
+ #else
261
+ # define UV__ENOSPC (-4055)
262
+ #endif
263
+
264
+ #if defined(ENOSYS) && !defined(_WIN32)
265
+ # define UV__ENOSYS (-ENOSYS)
266
+ #else
267
+ # define UV__ENOSYS (-4054)
268
+ #endif
269
+
270
+ #if defined(ENOTCONN) && !defined(_WIN32)
271
+ # define UV__ENOTCONN (-ENOTCONN)
272
+ #else
273
+ # define UV__ENOTCONN (-4053)
274
+ #endif
275
+
276
+ #if defined(ENOTDIR) && !defined(_WIN32)
277
+ # define UV__ENOTDIR (-ENOTDIR)
278
+ #else
279
+ # define UV__ENOTDIR (-4052)
280
+ #endif
281
+
282
+ #if defined(ENOTEMPTY) && !defined(_WIN32)
283
+ # define UV__ENOTEMPTY (-ENOTEMPTY)
284
+ #else
285
+ # define UV__ENOTEMPTY (-4051)
286
+ #endif
287
+
288
+ #if defined(ENOTSOCK) && !defined(_WIN32)
289
+ # define UV__ENOTSOCK (-ENOTSOCK)
290
+ #else
291
+ # define UV__ENOTSOCK (-4050)
292
+ #endif
293
+
294
+ #if defined(ENOTSUP) && !defined(_WIN32)
295
+ # define UV__ENOTSUP (-ENOTSUP)
296
+ #else
297
+ # define UV__ENOTSUP (-4049)
298
+ #endif
299
+
300
+ #if defined(EPERM) && !defined(_WIN32)
301
+ # define UV__EPERM (-EPERM)
302
+ #else
303
+ # define UV__EPERM (-4048)
304
+ #endif
305
+
306
+ #if defined(EPIPE) && !defined(_WIN32)
307
+ # define UV__EPIPE (-EPIPE)
308
+ #else
309
+ # define UV__EPIPE (-4047)
310
+ #endif
311
+
312
+ #if defined(EPROTO) && !defined(_WIN32)
313
+ # define UV__EPROTO (-EPROTO)
314
+ #else
315
+ # define UV__EPROTO (-4046)
316
+ #endif
317
+
318
+ #if defined(EPROTONOSUPPORT) && !defined(_WIN32)
319
+ # define UV__EPROTONOSUPPORT (-EPROTONOSUPPORT)
320
+ #else
321
+ # define UV__EPROTONOSUPPORT (-4045)
322
+ #endif
323
+
324
+ #if defined(EPROTOTYPE) && !defined(_WIN32)
325
+ # define UV__EPROTOTYPE (-EPROTOTYPE)
326
+ #else
327
+ # define UV__EPROTOTYPE (-4044)
328
+ #endif
329
+
330
+ #if defined(EROFS) && !defined(_WIN32)
331
+ # define UV__EROFS (-EROFS)
332
+ #else
333
+ # define UV__EROFS (-4043)
334
+ #endif
335
+
336
+ #if defined(ESHUTDOWN) && !defined(_WIN32)
337
+ # define UV__ESHUTDOWN (-ESHUTDOWN)
338
+ #else
339
+ # define UV__ESHUTDOWN (-4042)
340
+ #endif
341
+
342
+ #if defined(ESPIPE) && !defined(_WIN32)
343
+ # define UV__ESPIPE (-ESPIPE)
344
+ #else
345
+ # define UV__ESPIPE (-4041)
346
+ #endif
347
+
348
+ #if defined(ESRCH) && !defined(_WIN32)
349
+ # define UV__ESRCH (-ESRCH)
350
+ #else
351
+ # define UV__ESRCH (-4040)
352
+ #endif
353
+
354
+ #if defined(ETIMEDOUT) && !defined(_WIN32)
355
+ # define UV__ETIMEDOUT (-ETIMEDOUT)
356
+ #else
357
+ # define UV__ETIMEDOUT (-4039)
358
+ #endif
359
+
360
+ #if defined(ETXTBSY) && !defined(_WIN32)
361
+ # define UV__ETXTBSY (-ETXTBSY)
362
+ #else
363
+ # define UV__ETXTBSY (-4038)
364
+ #endif
365
+
366
+ #if defined(EXDEV) && !defined(_WIN32)
367
+ # define UV__EXDEV (-EXDEV)
368
+ #else
369
+ # define UV__EXDEV (-4037)
370
+ #endif
371
+
372
+ #if defined(EFBIG) && !defined(_WIN32)
373
+ # define UV__EFBIG (-EFBIG)
374
+ #else
375
+ # define UV__EFBIG (-4036)
376
+ #endif
377
+
378
+ #if defined(ENOPROTOOPT) && !defined(_WIN32)
379
+ # define UV__ENOPROTOOPT (-ENOPROTOOPT)
380
+ #else
381
+ # define UV__ENOPROTOOPT (-4035)
382
+ #endif
383
+
384
+ #if defined(ERANGE) && !defined(_WIN32)
385
+ # define UV__ERANGE (-ERANGE)
386
+ #else
387
+ # define UV__ERANGE (-4034)
388
+ #endif
389
+
390
+ #if defined(ENXIO) && !defined(_WIN32)
391
+ # define UV__ENXIO (-ENXIO)
392
+ #else
393
+ # define UV__ENXIO (-4033)
394
+ #endif
395
+
396
+ #if defined(EMLINK) && !defined(_WIN32)
397
+ # define UV__EMLINK (-EMLINK)
398
+ #else
399
+ # define UV__EMLINK (-4032)
400
+ #endif
401
+
402
+ /* EHOSTDOWN is not visible on BSD-like systems when _POSIX_C_SOURCE is
403
+ * defined. Fortunately, its value is always 64 so it's possible albeit
404
+ * icky to hard-code it.
405
+ */
406
+ #if defined(EHOSTDOWN) && !defined(_WIN32)
407
+ # define UV__EHOSTDOWN (-EHOSTDOWN)
408
+ #elif defined(__APPLE__) || \
409
+ defined(__DragonFly__) || \
410
+ defined(__FreeBSD__) || \
411
+ defined(__NetBSD__) || \
412
+ defined(__OpenBSD__)
413
+ # define UV__EHOSTDOWN (-64)
414
+ #else
415
+ # define UV__EHOSTDOWN (-4031)
416
+ #endif
417
+
418
+ #endif /* UV_ERRNO_H_ */