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
@@ -149,8 +149,10 @@ module PhusionPassenger
149
149
  process_request(headers, connection, socket_wrapper, @protocol == :http)
150
150
  elsif headers[REQUEST_METHOD] == PING
151
151
  process_ping(headers, connection)
152
+ false
152
153
  elsif headers[REQUEST_METHOD] == OOBW
153
154
  process_oobw(headers, connection)
155
+ false
154
156
  else
155
157
  process_request(headers, connection, socket_wrapper, @protocol == :http)
156
158
  end
@@ -168,14 +170,13 @@ module PhusionPassenger
168
170
  end
169
171
  else
170
172
  trace(2, "No headers parsed; disconnecting client.")
173
+ false
171
174
  end
172
175
  rescue Interrupted
173
176
  raise
174
177
  rescue => e
175
178
  if socket_wrapper && socket_wrapper.source_of_exception?(e)
176
179
  # EPIPE is harmless, it just means that the client closed the connection.
177
- # Other errors might indicate a problem so we print them, but they're
178
- # probably not bad enough to warrant stopping the request handler.
179
180
  if !e.is_a?(Errno::EPIPE)
180
181
  print_exception("Passenger RequestHandler's client socket", e)
181
182
  end
@@ -183,8 +184,18 @@ module PhusionPassenger
183
184
  if headers
184
185
  PhusionPassenger.log_request_exception(headers, e)
185
186
  end
187
+ # should_reraise_error? returns true except in unit tests,
188
+ # so we normally stop the request handler upon encountering
189
+ # non-EPIPE errors. We do this because process_request is already
190
+ # supposed to catch application-level exceptions. If an
191
+ # exception happened outside of process_request, then it's
192
+ # probably serious enough to warrant stopping the request handler.
186
193
  raise e if should_reraise_error?(e)
187
194
  end
195
+ # Here we do not know whether the connection was hijacked, but
196
+ # to be on the safe side (and have a new socket_wrapper created)
197
+ # let's say that it is.
198
+ true
188
199
  ensure
189
200
  # Close connection if keep-alive not possible
190
201
  if connection && !connection.closed? && !@last_connection
@@ -403,10 +414,6 @@ module PhusionPassenger
403
414
  return true
404
415
  end
405
416
 
406
- def should_reraise_app_error?(e, socket_wrapper)
407
- return false
408
- end
409
-
410
417
  def should_swallow_app_error?(e, socket_wrapper)
411
418
  return socket_wrapper && socket_wrapper.source_of_exception?(e) && e.is_a?(Errno::EPIPE)
412
419
  end
@@ -64,9 +64,9 @@ module PhusionPassenger
64
64
  find_apps
65
65
  find_pid_and_log_file(@app_finder, @options)
66
66
  create_working_dir
67
+ initialize_vars
68
+ start_engine
67
69
  begin
68
- initialize_vars
69
- start_engine
70
70
  show_intro_message
71
71
  maybe_daemonize
72
72
  touch_temp_dir_in_background
@@ -9,7 +9,8 @@ However, this Apache installation appears to be broken, so this installer
9
9
  cannot continue. To find out why this installer thinks the above Apache
10
10
  installation is broken, run:
11
11
 
12
- <b>export ORIG_PATH="$PATH"
12
+ <b>export ORIG_PATH="$PATH:<%= @extra_paths %>"
13
+ export APXS2="<%= @apxs2 %>"
13
14
  <%= @sudo_s_e %>
14
15
  export PATH="$ORIG_PATH"
15
16
  <%= @ruby %> <%= @passenger_config %> --detect-apache2</b>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passenger
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.8
4
+ version: 5.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phusion - http://www.phusion.nl/
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-20 00:00:00.000000000 Z
11
+ date: 2015-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -2624,26 +2624,6 @@ files:
2624
2624
  - ext/common/agents/Watchdog/InstanceDirToucher.cpp
2625
2625
  - ext/common/agents/Watchdog/LoggingAgentWatcher.cpp
2626
2626
  - ext/common/agents/Watchdog/Main.cpp
2627
- - ext/libeio/Changes
2628
- - ext/libeio/LICENSE
2629
- - ext/libeio/Makefile.am
2630
- - ext/libeio/Makefile.in
2631
- - ext/libeio/aclocal.m4
2632
- - ext/libeio/autogen.sh
2633
- - ext/libeio/config.guess
2634
- - ext/libeio/config.h.in
2635
- - ext/libeio/config.sub
2636
- - ext/libeio/configure
2637
- - ext/libeio/configure.ac
2638
- - ext/libeio/demo.c
2639
- - ext/libeio/ecb.h
2640
- - ext/libeio/eio.c
2641
- - ext/libeio/eio.h
2642
- - ext/libeio/install-sh
2643
- - ext/libeio/libeio.m4
2644
- - ext/libeio/ltmain.sh
2645
- - ext/libeio/missing
2646
- - ext/libeio/xthread.h
2647
2627
  - ext/libev/Changes
2648
2628
  - ext/libev/LICENSE
2649
2629
  - ext/libev/Makefile.am
@@ -2675,6 +2655,103 @@ files:
2675
2655
  - ext/libev/ltmain.sh
2676
2656
  - ext/libev/missing
2677
2657
  - ext/libev/mkinstalldirs
2658
+ - ext/libuv/.gitignore
2659
+ - ext/libuv/AUTHORS
2660
+ - ext/libuv/ChangeLog
2661
+ - ext/libuv/LICENSE
2662
+ - ext/libuv/Makefile.am
2663
+ - ext/libuv/Makefile.in
2664
+ - ext/libuv/README.md
2665
+ - ext/libuv/aclocal.m4
2666
+ - ext/libuv/ar-lib
2667
+ - ext/libuv/autom4te.cache/output.0
2668
+ - ext/libuv/autom4te.cache/output.1
2669
+ - ext/libuv/autom4te.cache/output.2
2670
+ - ext/libuv/autom4te.cache/requests
2671
+ - ext/libuv/autom4te.cache/traces.0
2672
+ - ext/libuv/autom4te.cache/traces.1
2673
+ - ext/libuv/autom4te.cache/traces.2
2674
+ - ext/libuv/checksparse.sh
2675
+ - ext/libuv/common.gypi
2676
+ - ext/libuv/compile
2677
+ - ext/libuv/config.guess
2678
+ - ext/libuv/config.sub
2679
+ - ext/libuv/configure
2680
+ - ext/libuv/configure.ac
2681
+ - ext/libuv/depcomp
2682
+ - ext/libuv/gyp_uv.py
2683
+ - ext/libuv/include/android-ifaddrs.h
2684
+ - ext/libuv/include/pthread-fixes.h
2685
+ - ext/libuv/include/tree.h
2686
+ - ext/libuv/include/uv-aix.h
2687
+ - ext/libuv/include/uv-bsd.h
2688
+ - ext/libuv/include/uv-darwin.h
2689
+ - ext/libuv/include/uv-errno.h
2690
+ - ext/libuv/include/uv-linux.h
2691
+ - ext/libuv/include/uv-sunos.h
2692
+ - ext/libuv/include/uv-threadpool.h
2693
+ - ext/libuv/include/uv-unix.h
2694
+ - ext/libuv/include/uv-version.h
2695
+ - ext/libuv/include/uv.h
2696
+ - ext/libuv/install-sh
2697
+ - ext/libuv/libuv.pc.in
2698
+ - ext/libuv/ltmain.sh
2699
+ - ext/libuv/m4/.gitignore
2700
+ - ext/libuv/m4/as_case.m4
2701
+ - ext/libuv/m4/libtool.m4
2702
+ - ext/libuv/m4/libuv-check-flags.m4
2703
+ - ext/libuv/m4/libuv-extra-automake-flags.m4
2704
+ - ext/libuv/m4/ltoptions.m4
2705
+ - ext/libuv/m4/ltsugar.m4
2706
+ - ext/libuv/m4/ltversion.m4
2707
+ - ext/libuv/m4/lt~obsolete.m4
2708
+ - ext/libuv/missing
2709
+ - ext/libuv/src/fs-poll.c
2710
+ - ext/libuv/src/heap-inl.h
2711
+ - ext/libuv/src/inet.c
2712
+ - ext/libuv/src/queue.h
2713
+ - ext/libuv/src/threadpool.c
2714
+ - ext/libuv/src/unix/aix.c
2715
+ - ext/libuv/src/unix/android-ifaddrs.c
2716
+ - ext/libuv/src/unix/async.c
2717
+ - ext/libuv/src/unix/atomic-ops.h
2718
+ - ext/libuv/src/unix/core.c
2719
+ - ext/libuv/src/unix/darwin-proctitle.c
2720
+ - ext/libuv/src/unix/darwin.c
2721
+ - ext/libuv/src/unix/dl.c
2722
+ - ext/libuv/src/unix/freebsd.c
2723
+ - ext/libuv/src/unix/fs.c
2724
+ - ext/libuv/src/unix/fsevents.c
2725
+ - ext/libuv/src/unix/getaddrinfo.c
2726
+ - ext/libuv/src/unix/getnameinfo.c
2727
+ - ext/libuv/src/unix/internal.h
2728
+ - ext/libuv/src/unix/kqueue.c
2729
+ - ext/libuv/src/unix/linux-core.c
2730
+ - ext/libuv/src/unix/linux-inotify.c
2731
+ - ext/libuv/src/unix/linux-syscalls.c
2732
+ - ext/libuv/src/unix/linux-syscalls.h
2733
+ - ext/libuv/src/unix/loop-watcher.c
2734
+ - ext/libuv/src/unix/loop.c
2735
+ - ext/libuv/src/unix/netbsd.c
2736
+ - ext/libuv/src/unix/openbsd.c
2737
+ - ext/libuv/src/unix/pipe.c
2738
+ - ext/libuv/src/unix/poll.c
2739
+ - ext/libuv/src/unix/process.c
2740
+ - ext/libuv/src/unix/proctitle.c
2741
+ - ext/libuv/src/unix/pthread-fixes.c
2742
+ - ext/libuv/src/unix/signal.c
2743
+ - ext/libuv/src/unix/spinlock.h
2744
+ - ext/libuv/src/unix/stream.c
2745
+ - ext/libuv/src/unix/sunos.c
2746
+ - ext/libuv/src/unix/tcp.c
2747
+ - ext/libuv/src/unix/thread.c
2748
+ - ext/libuv/src/unix/timer.c
2749
+ - ext/libuv/src/unix/tty.c
2750
+ - ext/libuv/src/unix/udp.c
2751
+ - ext/libuv/src/uv-common.c
2752
+ - ext/libuv/src/uv-common.h
2753
+ - ext/libuv/src/version.c
2754
+ - ext/libuv/uv.gyp
2678
2755
  - ext/nginx/CacheLocationConfig.c
2679
2756
  - ext/nginx/CacheLocationConfig.c.erb
2680
2757
  - ext/nginx/Configuration.c
metadata.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABAgAGBQJVXENEAAoJECrHRaUKISqMhb0IAJ8sPfHIu3QKdUjqAzvIKlcF
6
- imKJ4SKMnC9EYcR/Tk7bSQhsvL+43WxshTYjgwO0KLa8MVs5mF/RydgOl6bo9Ofo
7
- V9+Pm8nRjcVGMfudHeWgIj5s9VxcHdCSIsYL7QP2j0dDtf92NOXzqvZv7KflMRyq
8
- Ukbe8kq7NOgiYqCHjXETfE/pviFKFplRFk2xj385mPiPE/cBAXuwr6ktiF5EPywt
9
- fc626wfeyg0S67ulkMrxRYJOYHX5ot/oL04W3+8NAn4gTFUPfkyeRKtWI3CyS/0t
10
- ROFhAi7oIfVScOc0yfGJRQqBuYeQ5U92EvX9Afwd7vRBz6CAyWFlfRi/rA+9SSg=
11
- =8IeM
5
+ iQEcBAABAgAGBQJVb0YJAAoJECrHRaUKISqMU68H/17/U+nVV2XKFFF5bYOggw18
6
+ RaZYp0wSR3Ny9QJniim+C1ZM/lAsw2kdRJwl3QYtDWZNTG5s8FufFcqiQO9M+V33
7
+ 2LhUky32AZo/G+L2obRGE1X3F1MabSKXSl7Qf6pDPzHCt/KkR4QYdN3xyuu1ZaCW
8
+ I2shygQS/sOy2k9VYTyhYjsOC2oL6bjDTeiicHd7ma4W6Li0jRlNcaMqZrOCVhH0
9
+ XkgSEIowx+YFjTaObOqEJJUBf15W61lp+BVRKHYBy0xoZ+X4rfRGyDKrwboXafue
10
+ KbRsmtHqztzpLj/6iF5J5bVzBxhatYe+PZVI6mZfTceILrIYrhsr1PrO+oImbO8=
11
+ =wobn
12
12
  -----END PGP SIGNATURE-----
@@ -1,76 +0,0 @@
1
- Revision history for libeio
2
-
3
- TODO: maybe add mincore support? available on at least darwin, solaris, linux, freebsd
4
- TODO: openbsd requires stdint.h for intptr_t - why posix?
5
-
6
- TODO: make mtouch/readdir maybe others cancellable in-request
7
- TODO: fadvise request
8
- TODO: fdopendir/utimensat
9
- TODO: maybe work around 3.996gb barrier in pread/pwrite as well, maybe readahead etc.?
10
- 1.0
11
- - fix a deadlock where a wakeup signal could be missed when
12
- a timeout occured at the same time.
13
- - use nonstandard but maybe-working-on-bsd fork technique.
14
- - use fewer time() syscalls when waiting for new requests.
15
- - fix a path-memory-leak in readdir when using the wrappers
16
- (reported by Thomas L. Shinnick).
17
- - support a max_idle value of 0.
18
- - support setting of idle timeout value (eio_set_idle_timeout).
19
- - readdir: correctly handle malloc failures.
20
- - readdir: new flags argument, can return inode
21
- and possibly filetype, can sort in various ways.
22
- - readdir: stop immediately when cancelled, do
23
- not continue reading the directory.
24
- - fix return value of eio_sendfile_sync.
25
- - include sys/mman.h for msync.
26
- - added EIO_STACKSIZE.
27
- - added msync, mtouch support (untested).
28
- - added sync_file_range (untested).
29
- - fixed custom support.
30
- - use a more robust feed-add detection method.
31
- - "outbundled" from IO::AIO.
32
- - eio_set_max_polltime did not properly convert time to ticks.
33
- - tentatively support darwin in sendfile.
34
- - fix freebsd/darwin sendfile.
35
- - also use sendfile emulation for ENOTSUP and EOPNOTSUPP
36
- error codes.
37
- - add OS-independent EIO_MT_* and EIO_MS_* flag enums.
38
- - add eio_statvfs/eio_fstatvfs.
39
- - add eio_mlock/eio_mlockall and OS-independent MCL_* flag enums.
40
- - no longer set errno to 0 before making syscalls, this only lures
41
- people into the trap of believing errno shows success or failure.
42
- - "fix" demo.c so that it works as non-root.
43
- - suppoert utimes seperately from futimes, as some systems have
44
- utimes but not futimes.
45
- - use _POSIX_MEMLOCK_RANGE for mlock.
46
- - do not (errornously) overwrite CFLAGS in configure.ac.
47
- - mknod used int3 for dev_t (§2 bit), not offs (64 bit).
48
- - fix memory corruption in eio_readdirx for the flags
49
- combination EIO_READDIR_STAT_ORDER | EIO_READDIR_DIRS_FIRST.
50
- - port to openbsd (another blatantly broken non-UNIX/POSIX platform).
51
- - fix eio_custom prototype.
52
- - work around a Linux (and likely FreeBSD and other kernels) bug
53
- where sendfile would not transfer all the requested bytes on
54
- large transfers, using a heuristic.
55
- - use libecb, and apply lots of minor space optimisations.
56
- - disable sendfile on darwin, broken as everything else.
57
- - add realpath request and implementation.
58
- - cancelled requests will still invoke their request callbacks.
59
- - add fallocate.
60
- - do not acquire any locks when forking.
61
- - incorporated some mingw32 changes by traviscline.
62
- - added syncfs support, using direct syscall.
63
- - set thread name on linux (ps -L/Hcx, top, gdb).
64
- - remove useless use of volatile variables.
65
- - fix memory leak when reaping threads.
66
- - use utime now uses nanosecond resolution on posix 2008 systems.
67
- - allow taking advantage of posix 2008 xxxat functions and fdopendir
68
- by implementing a working directory abstraction.
69
- - make readahead emulation behave more like actual readahead by never failing.
70
- - added EIO_LSEEK (untested).
71
- - added EIO_FALLOC_FL_PUNCH_HOLE.
72
- - wtf. etp_proc returned 0, and no compiler ever complained.
73
- - remove pread/pwrite emulation, as the only system that lacked them
74
- (cygwin) provides them for a while now.
75
- - provide pread/pwrite implementations for win32.
76
-
@@ -1,36 +0,0 @@
1
- All files in libeio are Copyright (C)2007,2008 Marc Alexander Lehmann.
2
-
3
- Redistribution and use in source and binary forms, with or without
4
- modification, are permitted provided that the following conditions are
5
- met:
6
-
7
- * Redistributions of source code must retain the above copyright
8
- notice, this list of conditions and the following disclaimer.
9
-
10
- * Redistributions in binary form must reproduce the above
11
- copyright notice, this list of conditions and the following
12
- disclaimer in the documentation and/or other materials provided
13
- with the distribution.
14
-
15
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19
- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
-
27
- Alternatively, the contents of this package may be used under the terms
28
- of the GNU General Public License ("GPL") version 2 or any later version,
29
- in which case the provisions of the GPL are applicable instead of the
30
- above. If you wish to allow the use of your version of this package only
31
- under the terms of the GPL and not to allow others to use your version of
32
- this file under the BSD license, indicate your decision by deleting the
33
- provisions above and replace them with the notice and other provisions
34
- required by the GPL in this and the other files of this package. If you do
35
- not delete the provisions above, a recipient may use your version of this
36
- file under either the BSD or the GPL.
@@ -1,15 +0,0 @@
1
- AUTOMAKE_OPTIONS = foreign no-dependencies
2
-
3
- VERSION_INFO = 1:0
4
-
5
- EXTRA_DIST = LICENSE Changes autogen.sh
6
-
7
- #man_MANS = ev.3
8
-
9
- include_HEADERS = eio.h
10
-
11
- lib_LTLIBRARIES = libeio.la
12
-
13
- libeio_la_SOURCES = eio.c ecb.h xthread.h config.h
14
- libeio_la_LDFLAGS = -version-info $(VERSION_INFO)
15
-
@@ -1,694 +0,0 @@
1
- # Makefile.in generated by automake 1.11.1 from Makefile.am.
2
- # @configure_input@
3
-
4
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5
- # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
6
- # Inc.
7
- # This Makefile.in is free software; the Free Software Foundation
8
- # gives unlimited permission to copy and/or distribute it,
9
- # with or without modifications, as long as this notice is preserved.
10
-
11
- # This program is distributed in the hope that it will be useful,
12
- # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
13
- # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
14
- # PARTICULAR PURPOSE.
15
-
16
- @SET_MAKE@
17
-
18
-
19
- VPATH = @srcdir@
20
- pkgdatadir = $(datadir)/@PACKAGE@
21
- pkgincludedir = $(includedir)/@PACKAGE@
22
- pkglibdir = $(libdir)/@PACKAGE@
23
- pkglibexecdir = $(libexecdir)/@PACKAGE@
24
- am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
25
- install_sh_DATA = $(install_sh) -c -m 644
26
- install_sh_PROGRAM = $(install_sh) -c
27
- install_sh_SCRIPT = $(install_sh) -c
28
- INSTALL_HEADER = $(INSTALL_DATA)
29
- transform = $(program_transform_name)
30
- NORMAL_INSTALL = :
31
- PRE_INSTALL = :
32
- POST_INSTALL = :
33
- NORMAL_UNINSTALL = :
34
- PRE_UNINSTALL = :
35
- POST_UNINSTALL = :
36
- build_triplet = @build@
37
- host_triplet = @host@
38
- subdir = .
39
- DIST_COMMON = $(am__configure_deps) $(include_HEADERS) \
40
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
41
- $(srcdir)/config.h.in $(top_srcdir)/configure config.guess \
42
- config.sub install-sh ltmain.sh missing
43
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
44
- am__aclocal_m4_deps = $(top_srcdir)/libeio.m4 \
45
- $(top_srcdir)/configure.ac
46
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
47
- $(ACLOCAL_M4)
48
- am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
49
- configure.lineno config.status.lineno
50
- mkinstalldirs = $(install_sh) -d
51
- CONFIG_HEADER = config.h
52
- CONFIG_CLEAN_FILES =
53
- CONFIG_CLEAN_VPATH_FILES =
54
- am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
55
- am__vpath_adj = case $$p in \
56
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
57
- *) f=$$p;; \
58
- esac;
59
- am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
60
- am__install_max = 40
61
- am__nobase_strip_setup = \
62
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
63
- am__nobase_strip = \
64
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
65
- am__nobase_list = $(am__nobase_strip_setup); \
66
- for p in $$list; do echo "$$p $$p"; done | \
67
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
68
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
69
- if (++n[$$2] == $(am__install_max)) \
70
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
71
- END { for (dir in files) print dir, files[dir] }'
72
- am__base_list = \
73
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
74
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
75
- am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
76
- LTLIBRARIES = $(lib_LTLIBRARIES)
77
- libeio_la_LIBADD =
78
- am_libeio_la_OBJECTS = eio.lo
79
- libeio_la_OBJECTS = $(am_libeio_la_OBJECTS)
80
- libeio_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
81
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
82
- $(libeio_la_LDFLAGS) $(LDFLAGS) -o $@
83
- DEFAULT_INCLUDES = -I.@am__isrc@
84
- depcomp =
85
- am__depfiles_maybe =
86
- COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
87
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
88
- LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
89
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
90
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
91
- CCLD = $(CC)
92
- LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
93
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
94
- $(LDFLAGS) -o $@
95
- SOURCES = $(libeio_la_SOURCES)
96
- DIST_SOURCES = $(libeio_la_SOURCES)
97
- HEADERS = $(include_HEADERS)
98
- ETAGS = etags
99
- CTAGS = ctags
100
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
101
- distdir = $(PACKAGE)-$(VERSION)
102
- top_distdir = $(distdir)
103
- am__remove_distdir = \
104
- { test ! -d "$(distdir)" \
105
- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
106
- && rm -fr "$(distdir)"; }; }
107
- DIST_ARCHIVES = $(distdir).tar.gz
108
- GZIP_ENV = --best
109
- distuninstallcheck_listfiles = find . -type f -print
110
- distcleancheck_listfiles = find . -type f -print
111
- ACLOCAL = @ACLOCAL@
112
- AMTAR = @AMTAR@
113
- AR = @AR@
114
- AUTOCONF = @AUTOCONF@
115
- AUTOHEADER = @AUTOHEADER@
116
- AUTOMAKE = @AUTOMAKE@
117
- AWK = @AWK@
118
- CC = @CC@
119
- CCDEPMODE = @CCDEPMODE@
120
- CFLAGS = @CFLAGS@
121
- CPP = @CPP@
122
- CPPFLAGS = @CPPFLAGS@
123
- CYGPATH_W = @CYGPATH_W@
124
- DEFS = @DEFS@
125
- DEPDIR = @DEPDIR@
126
- DLLTOOL = @DLLTOOL@
127
- DSYMUTIL = @DSYMUTIL@
128
- DUMPBIN = @DUMPBIN@
129
- ECHO_C = @ECHO_C@
130
- ECHO_N = @ECHO_N@
131
- ECHO_T = @ECHO_T@
132
- EGREP = @EGREP@
133
- EXEEXT = @EXEEXT@
134
- FGREP = @FGREP@
135
- GREP = @GREP@
136
- INSTALL = @INSTALL@
137
- INSTALL_DATA = @INSTALL_DATA@
138
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
139
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
140
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
141
- LD = @LD@
142
- LDFLAGS = @LDFLAGS@
143
- LIBOBJS = @LIBOBJS@
144
- LIBS = @LIBS@
145
- LIBTOOL = @LIBTOOL@
146
- LIPO = @LIPO@
147
- LN_S = @LN_S@
148
- LTLIBOBJS = @LTLIBOBJS@
149
- MAINT = @MAINT@
150
- MAKEINFO = @MAKEINFO@
151
- MANIFEST_TOOL = @MANIFEST_TOOL@
152
- MKDIR_P = @MKDIR_P@
153
- NM = @NM@
154
- NMEDIT = @NMEDIT@
155
- OBJDUMP = @OBJDUMP@
156
- OBJEXT = @OBJEXT@
157
- OTOOL = @OTOOL@
158
- OTOOL64 = @OTOOL64@
159
- PACKAGE = @PACKAGE@
160
- PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
161
- PACKAGE_NAME = @PACKAGE_NAME@
162
- PACKAGE_STRING = @PACKAGE_STRING@
163
- PACKAGE_TARNAME = @PACKAGE_TARNAME@
164
- PACKAGE_URL = @PACKAGE_URL@
165
- PACKAGE_VERSION = @PACKAGE_VERSION@
166
- PATH_SEPARATOR = @PATH_SEPARATOR@
167
- RANLIB = @RANLIB@
168
- SED = @SED@
169
- SET_MAKE = @SET_MAKE@
170
- SHELL = @SHELL@
171
- STRIP = @STRIP@
172
- VERSION = @VERSION@
173
- abs_builddir = @abs_builddir@
174
- abs_srcdir = @abs_srcdir@
175
- abs_top_builddir = @abs_top_builddir@
176
- abs_top_srcdir = @abs_top_srcdir@
177
- ac_ct_AR = @ac_ct_AR@
178
- ac_ct_CC = @ac_ct_CC@
179
- ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
180
- am__include = @am__include@
181
- am__leading_dot = @am__leading_dot@
182
- am__quote = @am__quote@
183
- am__tar = @am__tar@
184
- am__untar = @am__untar@
185
- bindir = @bindir@
186
- build = @build@
187
- build_alias = @build_alias@
188
- build_cpu = @build_cpu@
189
- build_os = @build_os@
190
- build_vendor = @build_vendor@
191
- builddir = @builddir@
192
- datadir = @datadir@
193
- datarootdir = @datarootdir@
194
- docdir = @docdir@
195
- dvidir = @dvidir@
196
- exec_prefix = @exec_prefix@
197
- host = @host@
198
- host_alias = @host_alias@
199
- host_cpu = @host_cpu@
200
- host_os = @host_os@
201
- host_vendor = @host_vendor@
202
- htmldir = @htmldir@
203
- includedir = @includedir@
204
- infodir = @infodir@
205
- install_sh = @install_sh@
206
- libdir = @libdir@
207
- libexecdir = @libexecdir@
208
- localedir = @localedir@
209
- localstatedir = @localstatedir@
210
- mandir = @mandir@
211
- mkdir_p = @mkdir_p@
212
- oldincludedir = @oldincludedir@
213
- pdfdir = @pdfdir@
214
- prefix = @prefix@
215
- program_transform_name = @program_transform_name@
216
- psdir = @psdir@
217
- sbindir = @sbindir@
218
- sharedstatedir = @sharedstatedir@
219
- srcdir = @srcdir@
220
- sysconfdir = @sysconfdir@
221
- target_alias = @target_alias@
222
- top_build_prefix = @top_build_prefix@
223
- top_builddir = @top_builddir@
224
- top_srcdir = @top_srcdir@
225
- AUTOMAKE_OPTIONS = foreign no-dependencies
226
- VERSION_INFO = 1:0
227
- EXTRA_DIST = LICENSE Changes autogen.sh
228
-
229
- #man_MANS = ev.3
230
- include_HEADERS = eio.h
231
- lib_LTLIBRARIES = libeio.la
232
- libeio_la_SOURCES = eio.c ecb.h xthread.h config.h
233
- libeio_la_LDFLAGS = -version-info $(VERSION_INFO)
234
- all: config.h
235
- $(MAKE) $(AM_MAKEFLAGS) all-am
236
-
237
- .SUFFIXES:
238
- .SUFFIXES: .c .lo .o .obj
239
- am--refresh:
240
- @:
241
- $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
242
- @for dep in $?; do \
243
- case '$(am__configure_deps)' in \
244
- *$$dep*) \
245
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
246
- $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
247
- && exit 0; \
248
- exit 1;; \
249
- esac; \
250
- done; \
251
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
252
- $(am__cd) $(top_srcdir) && \
253
- $(AUTOMAKE) --foreign Makefile
254
- .PRECIOUS: Makefile
255
- Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
256
- @case '$?' in \
257
- *config.status*) \
258
- echo ' $(SHELL) ./config.status'; \
259
- $(SHELL) ./config.status;; \
260
- *) \
261
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
262
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
263
- esac;
264
-
265
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
266
- $(SHELL) ./config.status --recheck
267
-
268
- $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
269
- $(am__cd) $(srcdir) && $(AUTOCONF)
270
- $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
271
- $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
272
- $(am__aclocal_m4_deps):
273
-
274
- config.h: stamp-h1
275
- @if test ! -f $@; then \
276
- rm -f stamp-h1; \
277
- $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
278
- else :; fi
279
-
280
- stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
281
- @rm -f stamp-h1
282
- cd $(top_builddir) && $(SHELL) ./config.status config.h
283
- $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
284
- ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
285
- rm -f stamp-h1
286
- touch $@
287
-
288
- distclean-hdr:
289
- -rm -f config.h stamp-h1
290
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
291
- @$(NORMAL_INSTALL)
292
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
293
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
294
- list2=; for p in $$list; do \
295
- if test -f $$p; then \
296
- list2="$$list2 $$p"; \
297
- else :; fi; \
298
- done; \
299
- test -z "$$list2" || { \
300
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
301
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
302
- }
303
-
304
- uninstall-libLTLIBRARIES:
305
- @$(NORMAL_UNINSTALL)
306
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
307
- for p in $$list; do \
308
- $(am__strip_dir) \
309
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
310
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
311
- done
312
-
313
- clean-libLTLIBRARIES:
314
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
315
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
316
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
317
- test "$$dir" != "$$p" || dir=.; \
318
- echo "rm -f \"$${dir}/so_locations\""; \
319
- rm -f "$${dir}/so_locations"; \
320
- done
321
- libeio.la: $(libeio_la_OBJECTS) $(libeio_la_DEPENDENCIES)
322
- $(libeio_la_LINK) -rpath $(libdir) $(libeio_la_OBJECTS) $(libeio_la_LIBADD) $(LIBS)
323
-
324
- mostlyclean-compile:
325
- -rm -f *.$(OBJEXT)
326
-
327
- distclean-compile:
328
- -rm -f *.tab.c
329
-
330
- .c.o:
331
- $(COMPILE) -c $<
332
-
333
- .c.obj:
334
- $(COMPILE) -c `$(CYGPATH_W) '$<'`
335
-
336
- .c.lo:
337
- $(LTCOMPILE) -c -o $@ $<
338
-
339
- mostlyclean-libtool:
340
- -rm -f *.lo
341
-
342
- clean-libtool:
343
- -rm -rf .libs _libs
344
-
345
- distclean-libtool:
346
- -rm -f libtool config.lt
347
- install-includeHEADERS: $(include_HEADERS)
348
- @$(NORMAL_INSTALL)
349
- test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
350
- @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
351
- for p in $$list; do \
352
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
353
- echo "$$d$$p"; \
354
- done | $(am__base_list) | \
355
- while read files; do \
356
- echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
357
- $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
358
- done
359
-
360
- uninstall-includeHEADERS:
361
- @$(NORMAL_UNINSTALL)
362
- @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
363
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
364
- test -n "$$files" || exit 0; \
365
- echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
366
- cd "$(DESTDIR)$(includedir)" && rm -f $$files
367
-
368
- ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
369
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
370
- unique=`for i in $$list; do \
371
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
372
- done | \
373
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
374
- END { if (nonempty) { for (i in files) print i; }; }'`; \
375
- mkid -fID $$unique
376
- tags: TAGS
377
-
378
- TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
379
- $(TAGS_FILES) $(LISP)
380
- set x; \
381
- here=`pwd`; \
382
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
383
- unique=`for i in $$list; do \
384
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
385
- done | \
386
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
387
- END { if (nonempty) { for (i in files) print i; }; }'`; \
388
- shift; \
389
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
390
- test -n "$$unique" || unique=$$empty_fix; \
391
- if test $$# -gt 0; then \
392
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
393
- "$$@" $$unique; \
394
- else \
395
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
396
- $$unique; \
397
- fi; \
398
- fi
399
- ctags: CTAGS
400
- CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
401
- $(TAGS_FILES) $(LISP)
402
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
403
- unique=`for i in $$list; do \
404
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
405
- done | \
406
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
407
- END { if (nonempty) { for (i in files) print i; }; }'`; \
408
- test -z "$(CTAGS_ARGS)$$unique" \
409
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
410
- $$unique
411
-
412
- GTAGS:
413
- here=`$(am__cd) $(top_builddir) && pwd` \
414
- && $(am__cd) $(top_srcdir) \
415
- && gtags -i $(GTAGS_ARGS) "$$here"
416
-
417
- distclean-tags:
418
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
419
-
420
- distdir: $(DISTFILES)
421
- $(am__remove_distdir)
422
- test -d "$(distdir)" || mkdir "$(distdir)"
423
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
424
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
425
- list='$(DISTFILES)'; \
426
- dist_files=`for file in $$list; do echo $$file; done | \
427
- sed -e "s|^$$srcdirstrip/||;t" \
428
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
429
- case $$dist_files in \
430
- */*) $(MKDIR_P) `echo "$$dist_files" | \
431
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
432
- sort -u` ;; \
433
- esac; \
434
- for file in $$dist_files; do \
435
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
436
- if test -d $$d/$$file; then \
437
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
438
- if test -d "$(distdir)/$$file"; then \
439
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
440
- fi; \
441
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
442
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
443
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
444
- fi; \
445
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
446
- else \
447
- test -f "$(distdir)/$$file" \
448
- || cp -p $$d/$$file "$(distdir)/$$file" \
449
- || exit 1; \
450
- fi; \
451
- done
452
- -test -n "$(am__skip_mode_fix)" \
453
- || find "$(distdir)" -type d ! -perm -755 \
454
- -exec chmod u+rwx,go+rx {} \; -o \
455
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
456
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
457
- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
458
- || chmod -R a+r "$(distdir)"
459
- dist-gzip: distdir
460
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
461
- $(am__remove_distdir)
462
-
463
- dist-bzip2: distdir
464
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
465
- $(am__remove_distdir)
466
-
467
- dist-lzma: distdir
468
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
469
- $(am__remove_distdir)
470
-
471
- dist-xz: distdir
472
- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
473
- $(am__remove_distdir)
474
-
475
- dist-tarZ: distdir
476
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
477
- $(am__remove_distdir)
478
-
479
- dist-shar: distdir
480
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
481
- $(am__remove_distdir)
482
-
483
- dist-zip: distdir
484
- -rm -f $(distdir).zip
485
- zip -rq $(distdir).zip $(distdir)
486
- $(am__remove_distdir)
487
-
488
- dist dist-all: distdir
489
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
490
- $(am__remove_distdir)
491
-
492
- # This target untars the dist file and tries a VPATH configuration. Then
493
- # it guarantees that the distribution is self-contained by making another
494
- # tarfile.
495
- distcheck: dist
496
- case '$(DIST_ARCHIVES)' in \
497
- *.tar.gz*) \
498
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
499
- *.tar.bz2*) \
500
- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
501
- *.tar.lzma*) \
502
- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
503
- *.tar.xz*) \
504
- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
505
- *.tar.Z*) \
506
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
507
- *.shar.gz*) \
508
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
509
- *.zip*) \
510
- unzip $(distdir).zip ;;\
511
- esac
512
- chmod -R a-w $(distdir); chmod a+w $(distdir)
513
- mkdir $(distdir)/_build
514
- mkdir $(distdir)/_inst
515
- chmod a-w $(distdir)
516
- test -d $(distdir)/_build || exit 0; \
517
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
518
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
519
- && am__cwd=`pwd` \
520
- && $(am__cd) $(distdir)/_build \
521
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
522
- $(DISTCHECK_CONFIGURE_FLAGS) \
523
- && $(MAKE) $(AM_MAKEFLAGS) \
524
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
525
- && $(MAKE) $(AM_MAKEFLAGS) check \
526
- && $(MAKE) $(AM_MAKEFLAGS) install \
527
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
528
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
529
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
530
- distuninstallcheck \
531
- && chmod -R a-w "$$dc_install_base" \
532
- && ({ \
533
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
534
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
535
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
536
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
537
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
538
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
539
- && rm -rf "$$dc_destdir" \
540
- && $(MAKE) $(AM_MAKEFLAGS) dist \
541
- && rm -rf $(DIST_ARCHIVES) \
542
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
543
- && cd "$$am__cwd" \
544
- || exit 1
545
- $(am__remove_distdir)
546
- @(echo "$(distdir) archives ready for distribution: "; \
547
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
548
- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
549
- distuninstallcheck:
550
- @$(am__cd) '$(distuninstallcheck_dir)' \
551
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
552
- || { echo "ERROR: files left after uninstall:" ; \
553
- if test -n "$(DESTDIR)"; then \
554
- echo " (check DESTDIR support)"; \
555
- fi ; \
556
- $(distuninstallcheck_listfiles) ; \
557
- exit 1; } >&2
558
- distcleancheck: distclean
559
- @if test '$(srcdir)' = . ; then \
560
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
561
- exit 1 ; \
562
- fi
563
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
564
- || { echo "ERROR: files left in build directory after distclean:" ; \
565
- $(distcleancheck_listfiles) ; \
566
- exit 1; } >&2
567
- check-am: all-am
568
- check: check-am
569
- all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h
570
- installdirs:
571
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
572
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
573
- done
574
- install: install-am
575
- install-exec: install-exec-am
576
- install-data: install-data-am
577
- uninstall: uninstall-am
578
-
579
- install-am: all-am
580
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
581
-
582
- installcheck: installcheck-am
583
- install-strip:
584
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
585
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
586
- `test -z '$(STRIP)' || \
587
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
588
- mostlyclean-generic:
589
-
590
- clean-generic:
591
-
592
- distclean-generic:
593
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
594
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
595
-
596
- maintainer-clean-generic:
597
- @echo "This command is intended for maintainers to use"
598
- @echo "it deletes files that may require special tools to rebuild."
599
- clean: clean-am
600
-
601
- clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
602
- mostlyclean-am
603
-
604
- distclean: distclean-am
605
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
606
- -rm -f Makefile
607
- distclean-am: clean-am distclean-compile distclean-generic \
608
- distclean-hdr distclean-libtool distclean-tags
609
-
610
- dvi: dvi-am
611
-
612
- dvi-am:
613
-
614
- html: html-am
615
-
616
- html-am:
617
-
618
- info: info-am
619
-
620
- info-am:
621
-
622
- install-data-am: install-includeHEADERS
623
-
624
- install-dvi: install-dvi-am
625
-
626
- install-dvi-am:
627
-
628
- install-exec-am: install-libLTLIBRARIES
629
-
630
- install-html: install-html-am
631
-
632
- install-html-am:
633
-
634
- install-info: install-info-am
635
-
636
- install-info-am:
637
-
638
- install-man:
639
-
640
- install-pdf: install-pdf-am
641
-
642
- install-pdf-am:
643
-
644
- install-ps: install-ps-am
645
-
646
- install-ps-am:
647
-
648
- installcheck-am:
649
-
650
- maintainer-clean: maintainer-clean-am
651
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
652
- -rm -rf $(top_srcdir)/autom4te.cache
653
- -rm -f Makefile
654
- maintainer-clean-am: distclean-am maintainer-clean-generic
655
-
656
- mostlyclean: mostlyclean-am
657
-
658
- mostlyclean-am: mostlyclean-compile mostlyclean-generic \
659
- mostlyclean-libtool
660
-
661
- pdf: pdf-am
662
-
663
- pdf-am:
664
-
665
- ps: ps-am
666
-
667
- ps-am:
668
-
669
- uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
670
-
671
- .MAKE: all install-am install-strip
672
-
673
- .PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
674
- clean-generic clean-libLTLIBRARIES clean-libtool ctags dist \
675
- dist-all dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ \
676
- dist-xz dist-zip distcheck distclean distclean-compile \
677
- distclean-generic distclean-hdr distclean-libtool \
678
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
679
- dvi-am html html-am info info-am install install-am \
680
- install-data install-data-am install-dvi install-dvi-am \
681
- install-exec install-exec-am install-html install-html-am \
682
- install-includeHEADERS install-info install-info-am \
683
- install-libLTLIBRARIES install-man install-pdf install-pdf-am \
684
- install-ps install-ps-am install-strip installcheck \
685
- installcheck-am installdirs maintainer-clean \
686
- maintainer-clean-generic mostlyclean mostlyclean-compile \
687
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
688
- tags uninstall uninstall-am uninstall-includeHEADERS \
689
- uninstall-libLTLIBRARIES
690
-
691
-
692
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
693
- # Otherwise a system limit (for SysV at least) may be exceeded.
694
- .NOEXPORT: