passenger 5.0.4 → 5.0.5
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.
- checksums.yaml +8 -8
- checksums.yaml.gz.asc +7 -7
- data.tar.gz.asc +7 -7
- data/.editorconfig +10 -0
- data/CHANGELOG +21 -0
- data/build/agents.rb +2 -2
- data/build/apache2.rb +6 -5
- data/build/common_library.rb +22 -7
- data/build/cxx_tests.rb +0 -3
- data/build/misc.rb +1 -1
- data/dev/parse_file_descriptor_log +119 -0
- data/doc/CloudLicensingConfiguration.html +387 -0
- data/doc/Design and Architecture.html +2430 -0
- data/doc/Packaging.html +488 -0
- data/doc/Security of user switching support.html +1833 -0
- data/doc/ServerOptimizationGuide.html +659 -0
- data/doc/ServerOptimizationGuide.txt.md +8 -0
- data/doc/Users guide Apache.html +9116 -0
- data/doc/Users guide Apache.idmap.txt +6 -2
- data/doc/Users guide Apache.txt +26 -7
- data/doc/Users guide Nginx.html +9025 -0
- data/doc/Users guide Nginx.idmap.txt +7 -3
- data/doc/Users guide Nginx.txt +29 -6
- data/doc/Users guide Standalone.html +3983 -0
- data/doc/Users guide.html +1748 -0
- data/doc/users_guide_snippets/installation.txt +4 -4
- data/ext/apache2/Configuration.cpp +16 -5
- data/ext/apache2/Configuration.hpp +4 -2
- data/ext/apache2/Hooks.cpp +44 -19
- data/ext/boost/libs/thread/src/pthread/once.cpp +2 -0
- data/ext/boost/libs/thread/src/pthread/once_atomic.cpp +6 -0
- data/ext/common/AgentsStarter.h +3 -2
- data/ext/common/ApplicationPool2/DirectSpawner.h +14 -4
- data/ext/common/ApplicationPool2/DummySpawner.h +12 -7
- data/ext/common/ApplicationPool2/Implementation.cpp +1 -1
- data/ext/common/ApplicationPool2/Process.h +2 -1
- data/ext/common/ApplicationPool2/Session.h +6 -6
- data/ext/common/ApplicationPool2/SmartSpawner.h +19 -4
- data/ext/common/ApplicationPool2/Socket.h +59 -27
- data/ext/common/ApplicationPool2/Spawner.h +2 -2
- data/ext/common/BackgroundEventLoop.cpp +6 -1
- data/ext/common/Constants.h +1 -1
- data/ext/common/EventedClient.h +1 -1
- data/ext/common/EventedServer.h +2 -2
- data/ext/common/FileDescriptor.h +25 -6
- data/ext/common/Logging.cpp +107 -52
- data/ext/common/Logging.h +146 -19
- data/ext/common/MessageClient.h +2 -2
- data/ext/common/MessageServer.h +3 -2
- data/ext/common/RandomGenerator.h +8 -7
- data/ext/common/SafeLibev.h +5 -1
- data/ext/common/ServerKit/AcceptLoadBalancer.h +9 -4
- data/ext/common/ServerKit/FdSinkChannel.h +5 -2
- data/ext/common/ServerKit/FdSourceChannel.h +5 -2
- data/ext/common/ServerKit/FileBufferedChannel.h +2 -0
- data/ext/common/ServerKit/FileBufferedFdSinkChannel.h +7 -2
- data/ext/common/ServerKit/HttpServer.h +6 -0
- data/ext/common/ServerKit/Server.h +40 -3
- data/ext/common/StaticString.h +20 -0
- data/ext/common/UnionStation/Connection.h +3 -1
- data/ext/common/UnionStation/Core.h +6 -4
- data/ext/common/Utils.cpp +4 -3
- data/ext/common/Utils/DateParsing.h +19 -5
- data/ext/common/Utils/FastStringStream.h +183 -0
- data/ext/common/Utils/IOUtils.cpp +47 -28
- data/ext/common/Utils/IOUtils.h +56 -12
- data/ext/common/Utils/MessagePassing.h +3 -3
- data/ext/common/Utils/ProcessMetricsCollector.h +2 -2
- data/ext/common/Utils/ScopeGuard.h +16 -5
- data/ext/common/Utils/SpeedMeter.h +2 -2
- data/ext/common/Utils/StrIntUtils.cpp +6 -6
- data/ext/common/Utils/StrIntUtils.h +2 -1
- data/ext/common/agents/Base.cpp +56 -4
- data/ext/common/agents/Base.h +2 -1
- data/ext/common/agents/HelperAgent/AdminServer.h +122 -11
- data/ext/common/agents/HelperAgent/Main.cpp +16 -5
- data/ext/common/agents/HelperAgent/OptionParser.h +7 -1
- data/ext/common/agents/HelperAgent/RequestHandler.h +1 -1
- data/ext/common/agents/HelperAgent/RequestHandler/Hooks.cpp +10 -1
- data/ext/common/agents/HelperAgent/RequestHandler/Request.h +8 -0
- data/ext/common/agents/HelperAgent/RequestHandler/TurboCaching.h +4 -3
- data/ext/common/agents/LoggingAgent/AdminServer.h +57 -11
- data/ext/common/agents/LoggingAgent/LoggingServer.h +3 -3
- data/ext/common/agents/LoggingAgent/Main.cpp +11 -3
- data/ext/common/agents/Watchdog/AdminServer.h +53 -11
- data/ext/common/agents/Watchdog/AgentWatcher.cpp +3 -3
- data/ext/common/agents/Watchdog/Main.cpp +13 -6
- data/ext/libeio/ecb.h +1 -1
- data/ext/libev/ev.c +13 -1
- data/ext/libev/ev.h +3 -0
- data/ext/nginx/Configuration.c +28 -6
- data/ext/nginx/Configuration.h +2 -1
- data/ext/nginx/ngx_http_passenger_module.c +5 -4
- data/ext/oxt/dynamic_thread_group.hpp +38 -5
- data/lib/phusion_passenger.rb +1 -1
- data/lib/phusion_passenger/common_library.rb +9 -5
- data/lib/phusion_passenger/config/reopen_logs_command.rb +2 -2
- data/lib/phusion_passenger/packaging.rb +23 -37
- data/passenger.gemspec +21 -21
- metadata +4 -453
- metadata.gz.asc +7 -7
- data/.gitignore +0 -68
- data/.travis.yml +0 -16
- data/Gemfile +0 -17
- data/Gemfile.lock +0 -39
- data/Vagrantfile +0 -54
- data/debian.template/README.Debian +0 -15
- data/debian.template/changelog +0 -316
- data/debian.template/compat +0 -1
- data/debian.template/control.erb +0 -91
- data/debian.template/copyright +0 -385
- data/debian.template/libapache2-mod-passenger.install +0 -3
- data/debian.template/libapache2-mod-passenger.postinst +0 -36
- data/debian.template/libapache2-mod-passenger.prerm +0 -15
- data/debian.template/locations.ini.erb +0 -14
- data/debian.template/passenger-dev.install.erb +0 -3
- data/debian.template/passenger-doc.install.erb +0 -2
- data/debian.template/passenger.conf +0 -6
- data/debian.template/passenger.docs +0 -4
- data/debian.template/passenger.install.erb +0 -14
- data/debian.template/passenger.load +0 -3
- data/debian.template/passenger.manpages +0 -3
- data/debian.template/patches/series +0 -0
- data/debian.template/rules.erb +0 -76
- data/debian.template/source/format +0 -1
- data/ext/common/EventedBufferedInput.h +0 -458
- data/packaging/rpm/LICENSE.txt +0 -19
- data/packaging/rpm/Makefile +0 -13
- data/packaging/rpm/README.md +0 -41
- data/packaging/rpm/Vagrantfile +0 -38
- data/packaging/rpm/Vagrantfile.centos +0 -30
- data/packaging/rpm/build +0 -170
- data/packaging/rpm/create_project +0 -41
- data/packaging/rpm/git_update +0 -88
- data/packaging/rpm/image/Dockerfile +0 -37
- data/packaging/rpm/image/Gemfile +0 -3
- data/packaging/rpm/image/Gemfile.lock +0 -12
- data/packaging/rpm/image/RPM-GPG-KEY-amazon-ga +0 -19
- data/packaging/rpm/image/amazon2014-i386.cfg +0 -96
- data/packaging/rpm/image/amazon2014-x86_64.cfg +0 -96
- data/packaging/rpm/image/site-defaults.cfg +0 -168
- data/packaging/rpm/internal/build_tasks.rb +0 -238
- data/packaging/rpm/internal/dummygpg +0 -11
- data/packaging/rpm/internal/exec_build +0 -42
- data/packaging/rpm/internal/get_distro_arch +0 -14
- data/packaging/rpm/internal/get_distro_id +0 -10
- data/packaging/rpm/internal/git_update +0 -27
- data/packaging/rpm/internal/inituidgid +0 -17
- data/packaging/rpm/internal/my_init +0 -344
- data/packaging/rpm/internal/python27 +0 -3
- data/packaging/rpm/internal/repo_update +0 -46
- data/packaging/rpm/internal/setuser +0 -26
- data/packaging/rpm/internal/tracking_helper +0 -40
- data/packaging/rpm/jenkins_release +0 -99
- data/packaging/rpm/lib/build_tasks_support.rb +0 -402
- data/packaging/rpm/lib/preprocessor.rb +0 -341
- data/packaging/rpm/nginx_spec/404.html +0 -119
- data/packaging/rpm/nginx_spec/50x.html +0 -119
- data/packaging/rpm/nginx_spec/index.html +0 -116
- data/packaging/rpm/nginx_spec/nginx-auto-cc-gcc.patch +0 -13
- data/packaging/rpm/nginx_spec/nginx-logo.png +0 -0
- data/packaging/rpm/nginx_spec/nginx-upgrade +0 -13
- data/packaging/rpm/nginx_spec/nginx-upgrade.8 +0 -151
- data/packaging/rpm/nginx_spec/nginx.conf +0 -131
- data/packaging/rpm/nginx_spec/nginx.init +0 -144
- data/packaging/rpm/nginx_spec/nginx.logrotate +0 -13
- data/packaging/rpm/nginx_spec/nginx.service +0 -15
- data/packaging/rpm/nginx_spec/nginx.spec.template +0 -560
- data/packaging/rpm/nginx_spec/nginx.sysconfig +0 -4
- data/packaging/rpm/nginx_spec/passenger.conf +0 -9
- data/packaging/rpm/nginx_spec/poweredby.png +0 -0
- data/packaging/rpm/passenger_spec/apache-passenger.conf.in +0 -26
- data/packaging/rpm/passenger_spec/config.json +0 -30
- data/packaging/rpm/passenger_spec/passenger.logrotate +0 -7
- data/packaging/rpm/passenger_spec/passenger.spec.template +0 -478
- data/packaging/rpm/passenger_spec/passenger_dynamic_thread_group.patch +0 -16
- data/packaging/rpm/passenger_spec/passenger_tests_default_config_example.patch +0 -44
- data/packaging/rpm/passenger_spec/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch +0 -21
- data/packaging/rpm/repo_update +0 -114
- data/packaging/rpm/setup-system +0 -61
- data/packaging/rpm/shell +0 -10
- data/test/.rspec +0 -4
- data/test/config.json.example +0 -42
- data/test/config.json.rpm-automation +0 -15
- data/test/config.json.travis +0 -15
- data/test/config.json.vagrant +0 -30
- data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +0 -124
- data/test/cxx/ApplicationPool2/OptionsTest.cpp +0 -30
- data/test/cxx/ApplicationPool2/PoolTest.cpp +0 -2062
- data/test/cxx/ApplicationPool2/ProcessTest.cpp +0 -130
- data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +0 -243
- data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +0 -823
- data/test/cxx/BufferedIOTest.cpp +0 -364
- data/test/cxx/CachedFileStatTest.cpp +0 -402
- data/test/cxx/CxxTestMain.cpp +0 -181
- data/test/cxx/DataStructures/LStringTest.cpp +0 -275
- data/test/cxx/DataStructures/StringKeyTableTest.cpp +0 -199
- data/test/cxx/DateParsingTest.cpp +0 -75
- data/test/cxx/DechunkerTest.cpp +0 -250
- data/test/cxx/EventedBufferedInputTest.cpp +0 -758
- data/test/cxx/EventedClientTest.cpp +0 -523
- data/test/cxx/FileChangeCheckerTest.cpp +0 -331
- data/test/cxx/FileDescriptorTest.cpp +0 -69
- data/test/cxx/FilterSupportTest.cpp +0 -433
- data/test/cxx/IOUtilsTest.cpp +0 -861
- data/test/cxx/MemoryKit/MbufTest.cpp +0 -213
- data/test/cxx/MessageIOTest.cpp +0 -360
- data/test/cxx/MessagePassingTest.cpp +0 -81
- data/test/cxx/MessageReadersWritersTest.cpp +0 -576
- data/test/cxx/MessageServerTest.cpp +0 -393
- data/test/cxx/ProcessMetricsCollectorTest.cpp +0 -123
- data/test/cxx/RequestHandlerTest.cpp +0 -1463
- data/test/cxx/ResponseCacheTest.cpp +0 -322
- data/test/cxx/ServerKit/ChannelTest.cpp +0 -1467
- data/test/cxx/ServerKit/CookieUtilsTest.cpp +0 -274
- data/test/cxx/ServerKit/FileBufferedChannelTest.cpp +0 -992
- data/test/cxx/ServerKit/HeaderTableTest.cpp +0 -177
- data/test/cxx/ServerKit/HttpServerTest.cpp +0 -1580
- data/test/cxx/ServerKit/ServerTest.cpp +0 -408
- data/test/cxx/StaticStringTest.cpp +0 -220
- data/test/cxx/StringMapTest.cpp +0 -131
- data/test/cxx/SystemTimeTest.cpp +0 -37
- data/test/cxx/TemplateTest.cpp +0 -118
- data/test/cxx/TestSupport.cpp +0 -207
- data/test/cxx/TestSupport.h +0 -333
- data/test/cxx/UnionStationTest.cpp +0 -741
- data/test/cxx/Utils/StrIntUtilsTest.cpp +0 -39
- data/test/cxx/UtilsTest.cpp +0 -672
- data/test/cxx/VariantMapTest.cpp +0 -191
- data/test/gdbinit.example +0 -34
- data/test/integration_tests/apache2_tests.rb +0 -585
- data/test/integration_tests/downloaded_binaries_tests.rb +0 -185
- data/test/integration_tests/native_packaging_spec.rb +0 -368
- data/test/integration_tests/nginx_tests.rb +0 -402
- data/test/integration_tests/shared/example_webapp_tests.rb +0 -289
- data/test/integration_tests/source_packaging_test.rb +0 -201
- data/test/integration_tests/spec_helper.rb +0 -22
- data/test/integration_tests/standalone_tests.rb +0 -392
- data/test/node/line_reader_spec.js +0 -338
- data/test/node/spec_helper.js +0 -65
- data/test/oxt/backtrace_test.cpp +0 -88
- data/test/oxt/counter.hpp +0 -55
- data/test/oxt/dynamic_thread_group_test.cpp +0 -131
- data/test/oxt/oxt_test_main.cpp +0 -27
- data/test/oxt/spin_lock_test.cpp +0 -59
- data/test/oxt/syscall_interruption_test.cpp +0 -39
- data/test/ruby/debug_logging_spec.rb +0 -145
- data/test/ruby/message_channel_spec.rb +0 -196
- data/test/ruby/rack/loader_spec.rb +0 -42
- data/test/ruby/rack/preloader_spec.rb +0 -48
- data/test/ruby/rails3.0/loader_spec.rb +0 -26
- data/test/ruby/rails3.0/preloader_spec.rb +0 -32
- data/test/ruby/rails3.1/loader_spec.rb +0 -26
- data/test/ruby/rails3.1/preloader_spec.rb +0 -32
- data/test/ruby/rails3.2/loader_spec.rb +0 -26
- data/test/ruby/rails3.2/preloader_spec.rb +0 -32
- data/test/ruby/rails4.0/loader_spec.rb +0 -28
- data/test/ruby/rails4.0/preloader_spec.rb +0 -34
- data/test/ruby/rails4.1/loader_spec.rb +0 -28
- data/test/ruby/rails4.1/preloader_spec.rb +0 -34
- data/test/ruby/request_handler_spec.rb +0 -747
- data/test/ruby/shared/loader_sharedspec.rb +0 -247
- data/test/ruby/shared/rails/union_station_extensions_sharedspec.rb +0 -357
- data/test/ruby/shared/ruby_loader_sharedspec.rb +0 -55
- data/test/ruby/spec_helper.rb +0 -114
- data/test/ruby/standalone/runtime_installer_spec.rb +0 -402
- data/test/ruby/union_station_spec.rb +0 -288
- data/test/ruby/utils/file_system_watcher_spec.rb +0 -229
- data/test/ruby/utils/hosts_file_parser.rb +0 -258
- data/test/ruby/utils/tee_input_spec.rb +0 -235
- data/test/ruby/utils/unseekable_socket_spec.rb +0 -66
- data/test/ruby/utils_spec.rb +0 -41
- data/test/stub/apache2/httpd.conf.erb +0 -122
- data/test/stub/apache2/mime.types +0 -748
- data/test/stub/garbage1.dat +0 -0
- data/test/stub/garbage2.dat +0 -0
- data/test/stub/garbage3.dat +0 -0
- data/test/stub/http_request.yml +0 -23
- data/test/stub/index.html +0 -1
- data/test/stub/nginx/koi-utf +0 -109
- data/test/stub/nginx/koi-win +0 -103
- data/test/stub/nginx/mime.types +0 -70
- data/test/stub/nginx/nginx.conf.erb +0 -70
- data/test/stub/nginx/win-utf +0 -126
- data/test/stub/node/app.js +0 -133
- data/test/stub/node/public/.gitignore +0 -0
- data/test/stub/node/tmp/.gitignore +0 -0
- data/test/stub/rack/config.ru +0 -95
- data/test/stub/rack/library.rb +0 -16
- data/test/stub/rack/public/.gitignore +0 -0
- data/test/stub/rack/start.rb +0 -52
- data/test/stub/rack/tmp/.gitignore +0 -0
- data/test/stub/rails3.0/.gitignore +0 -4
- data/test/stub/rails3.0/Gemfile +0 -22
- data/test/stub/rails3.0/Gemfile.lock +0 -80
- data/test/stub/rails3.0/Rakefile +0 -10
- data/test/stub/rails3.0/app/controllers/application_controller.rb +0 -4
- data/test/stub/rails3.0/app/helpers/application_helper.rb +0 -2
- data/test/stub/rails3.0/app/views/layouts/application.html.erb +0 -14
- data/test/stub/rails3.0/config.ru +0 -4
- data/test/stub/rails3.0/config/application.rb +0 -48
- data/test/stub/rails3.0/config/boot.rb +0 -13
- data/test/stub/rails3.0/config/database.yml +0 -22
- data/test/stub/rails3.0/config/environment.rb +0 -5
- data/test/stub/rails3.0/config/environments/development.rb +0 -19
- data/test/stub/rails3.0/config/environments/production.rb +0 -48
- data/test/stub/rails3.0/config/environments/test.rb +0 -32
- data/test/stub/rails3.0/config/initializers/backtrace_silencers.rb +0 -7
- data/test/stub/rails3.0/config/initializers/inflections.rb +0 -10
- data/test/stub/rails3.0/config/initializers/mime_types.rb +0 -5
- data/test/stub/rails3.0/config/initializers/passenger.rb +0 -2
- data/test/stub/rails3.0/config/initializers/secret_token.rb +0 -7
- data/test/stub/rails3.0/config/initializers/session_store.rb +0 -8
- data/test/stub/rails3.0/config/locales/en.yml +0 -5
- data/test/stub/rails3.0/config/routes.rb +0 -58
- data/test/stub/rails3.0/db/seeds.rb +0 -7
- data/test/stub/rails3.0/doc/README_FOR_APP +0 -2
- data/test/stub/rails3.0/lib/tasks/.gitkeep +0 -0
- data/test/stub/rails3.0/log/.gitignore +0 -0
- data/test/stub/rails3.0/public/404.html +0 -26
- data/test/stub/rails3.0/public/422.html +0 -26
- data/test/stub/rails3.0/public/500.html +0 -26
- data/test/stub/rails3.0/public/favicon.ico +0 -0
- data/test/stub/rails3.0/public/index.html +0 -279
- data/test/stub/rails3.0/public/robots.txt +0 -5
- data/test/stub/rails3.0/public/stylesheets/.gitkeep +0 -0
- data/test/stub/rails3.0/script/rails +0 -9
- data/test/stub/rails3.0/test/performance/browsing_test.rb +0 -9
- data/test/stub/rails3.0/test/test_helper.rb +0 -13
- data/test/stub/rails3.0/vendor/plugins/.gitkeep +0 -0
- data/test/stub/rails3.1/.gitignore +0 -15
- data/test/stub/rails3.1/Gemfile +0 -37
- data/test/stub/rails3.1/Gemfile.lock +0 -115
- data/test/stub/rails3.1/README +0 -261
- data/test/stub/rails3.1/Rakefile +0 -7
- data/test/stub/rails3.1/app/assets/images/rails.png +0 -0
- data/test/stub/rails3.1/app/assets/stylesheets/application.css +0 -7
- data/test/stub/rails3.1/app/controllers/application_controller.rb +0 -3
- data/test/stub/rails3.1/app/helpers/application_helper.rb +0 -2
- data/test/stub/rails3.1/app/mailers/.gitkeep +0 -0
- data/test/stub/rails3.1/app/models/.gitkeep +0 -0
- data/test/stub/rails3.1/app/views/layouts/application.html.erb +0 -14
- data/test/stub/rails3.1/config.ru +0 -4
- data/test/stub/rails3.1/config/application.rb +0 -48
- data/test/stub/rails3.1/config/boot.rb +0 -6
- data/test/stub/rails3.1/config/database.yml +0 -25
- data/test/stub/rails3.1/config/environment.rb +0 -5
- data/test/stub/rails3.1/config/environments/development.rb +0 -30
- data/test/stub/rails3.1/config/environments/production.rb +0 -60
- data/test/stub/rails3.1/config/environments/test.rb +0 -39
- data/test/stub/rails3.1/config/initializers/backtrace_silencers.rb +0 -7
- data/test/stub/rails3.1/config/initializers/inflections.rb +0 -10
- data/test/stub/rails3.1/config/initializers/mime_types.rb +0 -5
- data/test/stub/rails3.1/config/initializers/passenger.rb +0 -2
- data/test/stub/rails3.1/config/initializers/secret_token.rb +0 -7
- data/test/stub/rails3.1/config/initializers/session_store.rb +0 -8
- data/test/stub/rails3.1/config/initializers/wrap_parameters.rb +0 -14
- data/test/stub/rails3.1/config/locales/en.yml +0 -5
- data/test/stub/rails3.1/config/routes.rb +0 -58
- data/test/stub/rails3.1/db/seeds.rb +0 -7
- data/test/stub/rails3.1/doc/README_FOR_APP +0 -2
- data/test/stub/rails3.1/lib/assets/.gitkeep +0 -0
- data/test/stub/rails3.1/lib/tasks/.gitkeep +0 -0
- data/test/stub/rails3.1/log/.gitkeep +0 -0
- data/test/stub/rails3.1/public/404.html +0 -26
- data/test/stub/rails3.1/public/422.html +0 -26
- data/test/stub/rails3.1/public/500.html +0 -26
- data/test/stub/rails3.1/public/favicon.ico +0 -0
- data/test/stub/rails3.1/public/index.html +0 -241
- data/test/stub/rails3.1/public/robots.txt +0 -5
- data/test/stub/rails3.1/script/rails +0 -6
- data/test/stub/rails3.1/test/fixtures/.gitkeep +0 -0
- data/test/stub/rails3.1/test/functional/.gitkeep +0 -0
- data/test/stub/rails3.1/test/integration/.gitkeep +0 -0
- data/test/stub/rails3.1/test/performance/browsing_test.rb +0 -12
- data/test/stub/rails3.1/test/test_helper.rb +0 -13
- data/test/stub/rails3.1/test/unit/.gitkeep +0 -0
- data/test/stub/rails3.1/vendor/assets/stylesheets/.gitkeep +0 -0
- data/test/stub/rails3.1/vendor/plugins/.gitkeep +0 -0
- data/test/stub/rails3.2/.gitignore +0 -15
- data/test/stub/rails3.2/Gemfile +0 -39
- data/test/stub/rails3.2/Gemfile.lock +0 -113
- data/test/stub/rails3.2/Rakefile +0 -7
- data/test/stub/rails3.2/app/assets/images/rails.png +0 -0
- data/test/stub/rails3.2/app/assets/stylesheets/application.css +0 -13
- data/test/stub/rails3.2/app/controllers/application_controller.rb +0 -3
- data/test/stub/rails3.2/app/helpers/application_helper.rb +0 -2
- data/test/stub/rails3.2/app/mailers/.gitkeep +0 -0
- data/test/stub/rails3.2/app/models/.gitkeep +0 -0
- data/test/stub/rails3.2/app/views/layouts/application.html.erb +0 -14
- data/test/stub/rails3.2/config.ru +0 -4
- data/test/stub/rails3.2/config/application.rb +0 -62
- data/test/stub/rails3.2/config/boot.rb +0 -6
- data/test/stub/rails3.2/config/database.yml +0 -25
- data/test/stub/rails3.2/config/environment.rb +0 -5
- data/test/stub/rails3.2/config/environments/development.rb +0 -37
- data/test/stub/rails3.2/config/environments/production.rb +0 -67
- data/test/stub/rails3.2/config/environments/test.rb +0 -37
- data/test/stub/rails3.2/config/initializers/backtrace_silencers.rb +0 -7
- data/test/stub/rails3.2/config/initializers/inflections.rb +0 -15
- data/test/stub/rails3.2/config/initializers/mime_types.rb +0 -5
- data/test/stub/rails3.2/config/initializers/passenger.rb +0 -2
- data/test/stub/rails3.2/config/initializers/secret_token.rb +0 -7
- data/test/stub/rails3.2/config/initializers/session_store.rb +0 -8
- data/test/stub/rails3.2/config/initializers/wrap_parameters.rb +0 -14
- data/test/stub/rails3.2/config/locales/en.yml +0 -5
- data/test/stub/rails3.2/config/routes.rb +0 -58
- data/test/stub/rails3.2/db/seeds.rb +0 -7
- data/test/stub/rails3.2/doc/README_FOR_APP +0 -2
- data/test/stub/rails3.2/lib/assets/.gitkeep +0 -0
- data/test/stub/rails3.2/lib/tasks/.gitkeep +0 -0
- data/test/stub/rails3.2/log/.gitkeep +0 -0
- data/test/stub/rails3.2/public/404.html +0 -26
- data/test/stub/rails3.2/public/422.html +0 -26
- data/test/stub/rails3.2/public/500.html +0 -25
- data/test/stub/rails3.2/public/favicon.ico +0 -0
- data/test/stub/rails3.2/public/index.html +0 -241
- data/test/stub/rails3.2/public/robots.txt +0 -5
- data/test/stub/rails3.2/script/rails +0 -6
- data/test/stub/rails3.2/test/fixtures/.gitkeep +0 -0
- data/test/stub/rails3.2/test/functional/.gitkeep +0 -0
- data/test/stub/rails3.2/test/integration/.gitkeep +0 -0
- data/test/stub/rails3.2/test/performance/browsing_test.rb +0 -12
- data/test/stub/rails3.2/test/test_helper.rb +0 -13
- data/test/stub/rails3.2/test/unit/.gitkeep +0 -0
- data/test/stub/rails3.2/vendor/assets/stylesheets/.gitkeep +0 -0
- data/test/stub/rails3.2/vendor/plugins/.gitkeep +0 -0
- data/test/stub/rails4.0/.gitignore +0 -16
- data/test/stub/rails4.0/Gemfile +0 -45
- data/test/stub/rails4.0/Gemfile.lock +0 -126
- data/test/stub/rails4.0/README.rdoc +0 -28
- data/test/stub/rails4.0/Rakefile +0 -6
- data/test/stub/rails4.0/app/assets/images/.keep +0 -0
- data/test/stub/rails4.0/app/assets/javascripts/application.js +0 -16
- data/test/stub/rails4.0/app/assets/stylesheets/application.css +0 -13
- data/test/stub/rails4.0/app/controllers/application_controller.rb +0 -5
- data/test/stub/rails4.0/app/controllers/concerns/.keep +0 -0
- data/test/stub/rails4.0/app/helpers/application_helper.rb +0 -2
- data/test/stub/rails4.0/app/mailers/.keep +0 -0
- data/test/stub/rails4.0/app/models/.keep +0 -0
- data/test/stub/rails4.0/app/models/concerns/.keep +0 -0
- data/test/stub/rails4.0/app/views/layouts/application.html.erb +0 -14
- data/test/stub/rails4.0/bin/bundle +0 -3
- data/test/stub/rails4.0/bin/rails +0 -4
- data/test/stub/rails4.0/bin/rake +0 -4
- data/test/stub/rails4.0/config.ru +0 -4
- data/test/stub/rails4.0/config/application.rb +0 -23
- data/test/stub/rails4.0/config/boot.rb +0 -4
- data/test/stub/rails4.0/config/database.yml +0 -25
- data/test/stub/rails4.0/config/environment.rb +0 -5
- data/test/stub/rails4.0/config/environments/development.rb +0 -29
- data/test/stub/rails4.0/config/environments/production.rb +0 -80
- data/test/stub/rails4.0/config/environments/test.rb +0 -36
- data/test/stub/rails4.0/config/initializers/backtrace_silencers.rb +0 -7
- data/test/stub/rails4.0/config/initializers/filter_parameter_logging.rb +0 -4
- data/test/stub/rails4.0/config/initializers/inflections.rb +0 -16
- data/test/stub/rails4.0/config/initializers/mime_types.rb +0 -5
- data/test/stub/rails4.0/config/initializers/passenger.rb +0 -2
- data/test/stub/rails4.0/config/initializers/secret_token.rb +0 -12
- data/test/stub/rails4.0/config/initializers/session_store.rb +0 -3
- data/test/stub/rails4.0/config/initializers/wrap_parameters.rb +0 -14
- data/test/stub/rails4.0/config/locales/en.yml +0 -23
- data/test/stub/rails4.0/config/routes.rb +0 -57
- data/test/stub/rails4.0/db/seeds.rb +0 -7
- data/test/stub/rails4.0/lib/assets/.keep +0 -0
- data/test/stub/rails4.0/lib/tasks/.keep +0 -0
- data/test/stub/rails4.0/log/.keep +0 -0
- data/test/stub/rails4.0/public/404.html +0 -58
- data/test/stub/rails4.0/public/422.html +0 -58
- data/test/stub/rails4.0/public/500.html +0 -57
- data/test/stub/rails4.0/public/favicon.ico +0 -0
- data/test/stub/rails4.0/public/robots.txt +0 -5
- data/test/stub/rails4.0/test/controllers/.keep +0 -0
- data/test/stub/rails4.0/test/fixtures/.keep +0 -0
- data/test/stub/rails4.0/test/helpers/.keep +0 -0
- data/test/stub/rails4.0/test/integration/.keep +0 -0
- data/test/stub/rails4.0/test/mailers/.keep +0 -0
- data/test/stub/rails4.0/test/models/.keep +0 -0
- data/test/stub/rails4.0/test/test_helper.rb +0 -15
- data/test/stub/rails4.0/vendor/assets/javascripts/.keep +0 -0
- data/test/stub/rails4.0/vendor/assets/stylesheets/.keep +0 -0
- data/test/stub/rails4.1/.gitignore +0 -16
- data/test/stub/rails4.1/Gemfile +0 -45
- data/test/stub/rails4.1/Gemfile.lock +0 -129
- data/test/stub/rails4.1/README.rdoc +0 -28
- data/test/stub/rails4.1/Rakefile +0 -6
- data/test/stub/rails4.1/app/assets/images/.keep +0 -0
- data/test/stub/rails4.1/app/assets/javascripts/application.js +0 -16
- data/test/stub/rails4.1/app/assets/stylesheets/application.css +0 -13
- data/test/stub/rails4.1/app/controllers/application_controller.rb +0 -5
- data/test/stub/rails4.1/app/controllers/concerns/.keep +0 -0
- data/test/stub/rails4.1/app/helpers/application_helper.rb +0 -2
- data/test/stub/rails4.1/app/mailers/.keep +0 -0
- data/test/stub/rails4.1/app/models/.keep +0 -0
- data/test/stub/rails4.1/app/models/concerns/.keep +0 -0
- data/test/stub/rails4.1/app/views/layouts/application.html.erb +0 -14
- data/test/stub/rails4.1/bin/bundle +0 -3
- data/test/stub/rails4.1/bin/rails +0 -4
- data/test/stub/rails4.1/bin/rake +0 -4
- data/test/stub/rails4.1/config.ru +0 -4
- data/test/stub/rails4.1/config/application.rb +0 -23
- data/test/stub/rails4.1/config/boot.rb +0 -4
- data/test/stub/rails4.1/config/database.yml +0 -25
- data/test/stub/rails4.1/config/environment.rb +0 -5
- data/test/stub/rails4.1/config/environments/development.rb +0 -29
- data/test/stub/rails4.1/config/environments/production.rb +0 -80
- data/test/stub/rails4.1/config/environments/test.rb +0 -36
- data/test/stub/rails4.1/config/initializers/backtrace_silencers.rb +0 -7
- data/test/stub/rails4.1/config/initializers/filter_parameter_logging.rb +0 -4
- data/test/stub/rails4.1/config/initializers/inflections.rb +0 -16
- data/test/stub/rails4.1/config/initializers/mime_types.rb +0 -5
- data/test/stub/rails4.1/config/initializers/passenger.rb +0 -5
- data/test/stub/rails4.1/config/initializers/secret_token.rb +0 -12
- data/test/stub/rails4.1/config/initializers/session_store.rb +0 -3
- data/test/stub/rails4.1/config/initializers/wrap_parameters.rb +0 -14
- data/test/stub/rails4.1/config/locales/en.yml +0 -23
- data/test/stub/rails4.1/config/routes.rb +0 -57
- data/test/stub/rails4.1/db/seeds.rb +0 -7
- data/test/stub/rails4.1/lib/assets/.keep +0 -0
- data/test/stub/rails4.1/lib/tasks/.keep +0 -0
- data/test/stub/rails4.1/log/.keep +0 -0
- data/test/stub/rails4.1/public/404.html +0 -58
- data/test/stub/rails4.1/public/422.html +0 -58
- data/test/stub/rails4.1/public/500.html +0 -57
- data/test/stub/rails4.1/public/favicon.ico +0 -0
- data/test/stub/rails4.1/public/robots.txt +0 -5
- data/test/stub/rails4.1/test/controllers/.keep +0 -0
- data/test/stub/rails4.1/test/fixtures/.keep +0 -0
- data/test/stub/rails4.1/test/helpers/.keep +0 -0
- data/test/stub/rails4.1/test/integration/.keep +0 -0
- data/test/stub/rails4.1/test/mailers/.keep +0 -0
- data/test/stub/rails4.1/test/models/.keep +0 -0
- data/test/stub/rails4.1/test/test_helper.rb +0 -15
- data/test/stub/rails4.1/vendor/assets/javascripts/.keep +0 -0
- data/test/stub/rails4.1/vendor/assets/stylesheets/.keep +0 -0
- data/test/stub/start_error.pl +0 -24
- data/test/stub/upload_data.txt +0 -494
- data/test/stub/wsgi/passenger_wsgi.py +0 -212
- data/test/stub/wsgi/public/.gitignore +0 -0
- data/test/stub/wsgi/tmp/.gitignore +0 -0
- data/test/support/allocate_memory.c +0 -14
- data/test/support/apache2_controller.rb +0 -258
- data/test/support/multipart.rb +0 -62
- data/test/support/nginx_controller.rb +0 -97
- data/test/support/placebo-preloader.rb +0 -88
- data/test/support/test_helper.rb +0 -455
- data/test/support/valgrind.h +0 -2539
- data/test/tut/tut.h +0 -1310
- data/test/tut/tut_reporter.h +0 -256
- data/test/valgrind-osx.supp +0 -7
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2010-
|
3
|
+
* Copyright (c) 2010-2015 Phusion
|
4
4
|
*
|
5
5
|
* "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
|
6
6
|
*
|
@@ -265,7 +265,7 @@ public:
|
|
265
265
|
* arguments to this agent process through this fd, and we'll receive
|
266
266
|
* startup information through it as well.
|
267
267
|
*/
|
268
|
-
fds = createUnixSocketPair();
|
268
|
+
fds = createUnixSocketPair(__FILE__, __LINE__);
|
269
269
|
|
270
270
|
pid = syscalls::fork();
|
271
271
|
if (pid == 0) {
|
@@ -334,7 +334,7 @@ public:
|
|
334
334
|
throw SystemException("Cannot fork a new process", e);
|
335
335
|
} else {
|
336
336
|
// Parent
|
337
|
-
FileDescriptor feedbackFd
|
337
|
+
FileDescriptor feedbackFd(fds[0]);
|
338
338
|
vector<string> args;
|
339
339
|
|
340
340
|
fds[1].close();
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2010-
|
3
|
+
* Copyright (c) 2010-2015 Phusion
|
4
4
|
*
|
5
5
|
* "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
|
6
6
|
*
|
@@ -120,7 +120,9 @@ namespace WatchdogAgent {
|
|
120
120
|
AdminServer *adminServer;
|
121
121
|
|
122
122
|
WorkingObjects()
|
123
|
-
:
|
123
|
+
: errorEvent(__FILE__, __LINE__, "WorkingObjects: errorEvent"),
|
124
|
+
exitEvent(__FILE__, __LINE__, "WorkingObjects: exitEvent"),
|
125
|
+
reportFile(-1),
|
124
126
|
pidsCleanedUp(false),
|
125
127
|
pidFileCleanedUp(false),
|
126
128
|
bgloop(NULL),
|
@@ -338,6 +340,7 @@ readCleanupPids(const WorkingObjectsPtr &wo) {
|
|
338
340
|
size_t ret;
|
339
341
|
|
340
342
|
ret = fread(buf, 1, 32, f);
|
343
|
+
fclose(f);
|
341
344
|
if (ret > 0) {
|
342
345
|
buf[ret] = '\0';
|
343
346
|
result.push_back(atoi(buf));
|
@@ -866,8 +869,8 @@ createPidFile() {
|
|
866
869
|
}
|
867
870
|
|
868
871
|
UPDATE_TRACE_POINT();
|
872
|
+
FdGuard guard(fd, __FILE__, __LINE__);
|
869
873
|
writeExact(fd, pidStr, strlen(pidStr));
|
870
|
-
syscalls::close(fd);
|
871
874
|
}
|
872
875
|
}
|
873
876
|
|
@@ -882,6 +885,7 @@ openReportFile(const WorkingObjectsPtr &wo) {
|
|
882
885
|
throw FileSystemException("Cannot open report file " + reportFile, e, reportFile);
|
883
886
|
}
|
884
887
|
|
888
|
+
P_LOG_FILE_DESCRIPTOR_OPEN4(fd, __FILE__, __LINE__, "WorkingObjects: reportFile");
|
885
889
|
wo->reportFile = fd;
|
886
890
|
}
|
887
891
|
}
|
@@ -990,6 +994,7 @@ initializeWorkingObjects(const WorkingObjectsPtr &wo, InstanceDirToucherPtr &ins
|
|
990
994
|
throw FileSystemException("Cannot open " + lockFilePath + " for reading",
|
991
995
|
e, lockFilePath);
|
992
996
|
}
|
997
|
+
P_LOG_FILE_DESCRIPTOR_OPEN4(wo->lockFile, __FILE__, __LINE__, "WorkingObjects: lock file");
|
993
998
|
|
994
999
|
createFile(wo->instanceDir->getPath() + "/watchdog.pid", toString(getpid()));
|
995
1000
|
|
@@ -1055,8 +1060,8 @@ initializeWorkingObjects(const WorkingObjectsPtr &wo, InstanceDirToucherPtr &ins
|
|
1055
1060
|
static void
|
1056
1061
|
initializeAgentWatchers(const WorkingObjectsPtr &wo, vector<AgentWatcherPtr> &watchers) {
|
1057
1062
|
TRACE_POINT();
|
1058
|
-
watchers.push_back(make_shared<HelperAgentWatcher>(wo));
|
1059
|
-
watchers.push_back(make_shared<LoggingAgentWatcher>(wo));
|
1063
|
+
watchers.push_back(boost::make_shared<HelperAgentWatcher>(wo));
|
1064
|
+
watchers.push_back(boost::make_shared<LoggingAgentWatcher>(wo));
|
1060
1065
|
}
|
1061
1066
|
|
1062
1067
|
static void
|
@@ -1120,7 +1125,8 @@ initializeAdminServer(const WorkingObjectsPtr &wo) {
|
|
1120
1125
|
UPDATE_TRACE_POINT();
|
1121
1126
|
for (unsigned int i = 0; i < adminAddresses.size(); i++) {
|
1122
1127
|
P_DEBUG("Admin server will listen on " << adminAddresses[i]);
|
1123
|
-
wo->adminServerFds[i] = createServer(adminAddresses[i]
|
1128
|
+
wo->adminServerFds[i] = createServer(adminAddresses[i], 0, true,
|
1129
|
+
__FILE__, __LINE__);
|
1124
1130
|
if (getSocketAddressType(adminAddresses[i]) == SAT_UNIX) {
|
1125
1131
|
makeFileWorldReadableAndWritable(parseUnixSocketAddress(adminAddresses[i]));
|
1126
1132
|
}
|
@@ -1216,6 +1222,7 @@ reportAgentsInformation(const WorkingObjectsPtr &wo, const vector<AgentWatcherPt
|
|
1216
1222
|
|
1217
1223
|
writeExact(wo->reportFile, str.data(), str.size());
|
1218
1224
|
close(wo->reportFile);
|
1225
|
+
P_LOG_FILE_DESCRIPTOR_CLOSE(wo->reportFile);
|
1219
1226
|
wo->reportFile = -1;
|
1220
1227
|
}
|
1221
1228
|
}
|
data/ext/libeio/ecb.h
CHANGED
@@ -472,7 +472,7 @@ ecb_inline uint64_t ecb_rotr64 (uint64_t x, unsigned int count) { return (x << (
|
|
472
472
|
#define ecb_unreachable() __builtin_unreachable ()
|
473
473
|
#else
|
474
474
|
/* this seems to work fine, but gcc always emits a warning for it :/ */
|
475
|
-
ecb_inline void ecb_unreachable (void)
|
475
|
+
ecb_inline ecb_noreturn void ecb_unreachable (void);
|
476
476
|
ecb_inline void ecb_unreachable (void) { }
|
477
477
|
#endif
|
478
478
|
|
data/ext/libev/ev.c
CHANGED
@@ -967,7 +967,7 @@ ecb_inline uint64_t ecb_rotr64 (uint64_t x, unsigned int count) { return (x << (
|
|
967
967
|
#define ecb_unreachable() __builtin_unreachable ()
|
968
968
|
#else
|
969
969
|
/* this seems to work fine, but gcc always emits a warning for it :/ */
|
970
|
-
ecb_inline void ecb_unreachable (void)
|
970
|
+
ecb_inline ecb_noreturn void ecb_unreachable (void);
|
971
971
|
ecb_inline void ecb_unreachable (void) { }
|
972
972
|
#endif
|
973
973
|
|
@@ -2477,6 +2477,18 @@ ev_backend (EV_P) EV_THROW
|
|
2477
2477
|
return backend;
|
2478
2478
|
}
|
2479
2479
|
|
2480
|
+
int
|
2481
|
+
ev_backend_fd (EV_P) EV_THROW
|
2482
|
+
{
|
2483
|
+
return backend_fd;
|
2484
|
+
}
|
2485
|
+
|
2486
|
+
int
|
2487
|
+
ev_loop_get_pipe (EV_P_ unsigned int index) EV_THROW
|
2488
|
+
{
|
2489
|
+
return evpipe[index];
|
2490
|
+
}
|
2491
|
+
|
2480
2492
|
#if EV_FEATURE_API
|
2481
2493
|
unsigned int
|
2482
2494
|
ev_iteration (EV_P) EV_THROW
|
data/ext/libev/ev.h
CHANGED
@@ -605,6 +605,9 @@ EV_API_DECL void ev_loop_fork (EV_P) EV_THROW;
|
|
605
605
|
|
606
606
|
EV_API_DECL unsigned int ev_backend (EV_P) EV_THROW; /* backend in use by loop */
|
607
607
|
|
608
|
+
EV_API_DECL int ev_backend_fd (EV_P) EV_THROW;
|
609
|
+
EV_API_DECL int ev_loop_get_pipe (EV_P_ unsigned int index) EV_THROW;
|
610
|
+
|
608
611
|
EV_API_DECL void ev_now_update (EV_P) EV_THROW; /* update event loop time */
|
609
612
|
|
610
613
|
#if EV_WALK_ENABLE
|
data/ext/nginx/Configuration.c
CHANGED
@@ -84,8 +84,10 @@ passenger_create_main_conf(ngx_conf_t *cf)
|
|
84
84
|
conf->default_ruby.data = NULL;
|
85
85
|
conf->default_ruby.len = 0;
|
86
86
|
conf->log_level = (ngx_int_t) NGX_CONF_UNSET;
|
87
|
-
conf->
|
88
|
-
conf->
|
87
|
+
conf->log_file.data = NULL;
|
88
|
+
conf->log_file.len = 0;
|
89
|
+
conf->file_descriptor_log_file.data = NULL;
|
90
|
+
conf->file_descriptor_log_file.len = 0;
|
89
91
|
conf->data_buffer_dir.data = NULL;
|
90
92
|
conf->data_buffer_dir.len = 0;
|
91
93
|
conf->instance_registry_dir.data = NULL;
|
@@ -142,8 +144,12 @@ passenger_init_main_conf(ngx_conf_t *cf, void *conf_pointer)
|
|
142
144
|
conf->log_level = DEFAULT_LOG_LEVEL;
|
143
145
|
}
|
144
146
|
|
145
|
-
if (conf->
|
146
|
-
conf->
|
147
|
+
if (conf->log_file.len == 0) {
|
148
|
+
conf->log_file.data = (u_char *) "";
|
149
|
+
}
|
150
|
+
|
151
|
+
if (conf->file_descriptor_log_file.len == 0) {
|
152
|
+
conf->file_descriptor_log_file.data = (u_char *) "";
|
147
153
|
}
|
148
154
|
|
149
155
|
if (conf->data_buffer_dir.len == 0) {
|
@@ -1272,11 +1278,18 @@ const ngx_command_t passenger_commands[] = {
|
|
1272
1278
|
offsetof(passenger_main_conf_t, log_level),
|
1273
1279
|
NULL },
|
1274
1280
|
|
1275
|
-
{ ngx_string("
|
1281
|
+
{ ngx_string("passenger_log_file"),
|
1282
|
+
NGX_HTTP_MAIN_CONF | NGX_CONF_TAKE1,
|
1283
|
+
ngx_conf_set_str_slot,
|
1284
|
+
NGX_HTTP_MAIN_CONF_OFFSET,
|
1285
|
+
offsetof(passenger_main_conf_t, log_file),
|
1286
|
+
NULL },
|
1287
|
+
|
1288
|
+
{ ngx_string("passenger_file_descriptor_log_file"),
|
1276
1289
|
NGX_HTTP_MAIN_CONF | NGX_CONF_TAKE1,
|
1277
1290
|
ngx_conf_set_str_slot,
|
1278
1291
|
NGX_HTTP_MAIN_CONF_OFFSET,
|
1279
|
-
offsetof(passenger_main_conf_t,
|
1292
|
+
offsetof(passenger_main_conf_t, file_descriptor_log_file),
|
1280
1293
|
NULL },
|
1281
1294
|
|
1282
1295
|
{ ngx_string("passenger_data_buffer_dir"),
|
@@ -1416,6 +1429,15 @@ const ngx_command_t passenger_commands[] = {
|
|
1416
1429
|
|
1417
1430
|
#include "ConfigurationCommands.c"
|
1418
1431
|
|
1432
|
+
/******** Backward compatibility ********/
|
1433
|
+
|
1434
|
+
{ ngx_string("passenger_debug_log_file"),
|
1435
|
+
NGX_HTTP_MAIN_CONF | NGX_CONF_TAKE1,
|
1436
|
+
ngx_conf_set_str_slot,
|
1437
|
+
NGX_HTTP_MAIN_CONF_OFFSET,
|
1438
|
+
offsetof(passenger_main_conf_t, log_file),
|
1439
|
+
NULL },
|
1440
|
+
|
1419
1441
|
ngx_null_command
|
1420
1442
|
};
|
1421
1443
|
|
data/ext/nginx/Configuration.h
CHANGED
@@ -56,7 +56,8 @@ typedef struct {
|
|
56
56
|
ngx_array_t *ctl;
|
57
57
|
ngx_str_t default_ruby;
|
58
58
|
ngx_int_t log_level;
|
59
|
-
ngx_str_t
|
59
|
+
ngx_str_t log_file;
|
60
|
+
ngx_str_t file_descriptor_log_file;
|
60
61
|
ngx_str_t data_buffer_dir;
|
61
62
|
ngx_str_t instance_registry_dir;
|
62
63
|
ngx_flag_t abort_on_startup_error;
|
@@ -279,6 +279,7 @@ start_watchdog(ngx_cycle_t *cycle) {
|
|
279
279
|
pp_variant_map_set_bool (params, "multi_app", 1);
|
280
280
|
pp_variant_map_set_bool (params, "load_shell_envvars", 1);
|
281
281
|
pp_variant_map_set_int (params, "log_level", passenger_main_conf.log_level);
|
282
|
+
pp_variant_map_set_ngx_str(params, "file_descriptor_log_file", &passenger_main_conf.file_descriptor_log_file);
|
282
283
|
pp_variant_map_set_ngx_str(params, "data_buffer_dir", &passenger_main_conf.data_buffer_dir);
|
283
284
|
pp_variant_map_set_ngx_str(params, "instance_registry_dir", &passenger_main_conf.instance_registry_dir);
|
284
285
|
pp_variant_map_set_bool (params, "user_switching", passenger_main_conf.user_switching);
|
@@ -299,12 +300,12 @@ start_watchdog(ngx_cycle_t *cycle) {
|
|
299
300
|
pp_variant_map_set_ngx_str(params, "union_station_proxy_address", &passenger_main_conf.union_station_proxy_address);
|
300
301
|
pp_variant_map_set_strset (params, "prestart_urls", (const char **) prestart_uris_ary, passenger_main_conf.prestart_uris->nelts);
|
301
302
|
|
302
|
-
if (passenger_main_conf.
|
303
|
-
pp_variant_map_set_ngx_str(params, "
|
303
|
+
if (passenger_main_conf.log_file.len > 0) {
|
304
|
+
pp_variant_map_set_ngx_str(params, "log_file", &passenger_main_conf.log_file);
|
304
305
|
} else if (cycle->new_log.file->name.len > 0) {
|
305
|
-
pp_variant_map_set_ngx_str(params, "
|
306
|
+
pp_variant_map_set_ngx_str(params, "log_file", &cycle->new_log.file->name);
|
306
307
|
} else if (cycle->log->file->name.len > 0) {
|
307
|
-
pp_variant_map_set_ngx_str(params, "
|
308
|
+
pp_variant_map_set_ngx_str(params, "log_file", &cycle->log->file->name);
|
308
309
|
}
|
309
310
|
|
310
311
|
ctl = (ngx_keyval_t *) passenger_main_conf.ctl->elts;
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* OXT - OS eXtensions for boosT
|
3
3
|
* Provides important functionality necessary for writing robust server software.
|
4
4
|
*
|
5
|
-
* Copyright (c) 2010-
|
5
|
+
* Copyright (c) 2010-2015 Phusion
|
6
6
|
*
|
7
7
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
* of this software and associated documentation files (the "Software"), to deal
|
@@ -84,6 +84,27 @@ private:
|
|
84
84
|
/** The number of threads in this thread group. */
|
85
85
|
unsigned int nthreads;
|
86
86
|
|
87
|
+
struct thread_func_data {
|
88
|
+
boost::function<void ()> entry_point;
|
89
|
+
thread_handle *handle;
|
90
|
+
};
|
91
|
+
|
92
|
+
struct thread_func_data_guard {
|
93
|
+
thread_func_data *data;
|
94
|
+
|
95
|
+
thread_func_data_guard(thread_func_data *_data)
|
96
|
+
: data(_data)
|
97
|
+
{ }
|
98
|
+
|
99
|
+
~thread_func_data_guard() {
|
100
|
+
delete data;
|
101
|
+
}
|
102
|
+
|
103
|
+
void clear() {
|
104
|
+
data = NULL;
|
105
|
+
}
|
106
|
+
};
|
107
|
+
|
87
108
|
struct thread_cleanup {
|
88
109
|
dynamic_thread_group *thread_group;
|
89
110
|
thread_handle *handle;
|
@@ -104,9 +125,16 @@ private:
|
|
104
125
|
}
|
105
126
|
};
|
106
127
|
|
107
|
-
void thread_main(
|
108
|
-
|
109
|
-
|
128
|
+
void thread_main(thread_func_data *data) {
|
129
|
+
thread_func_data_guard guard(data);
|
130
|
+
thread_cleanup c(this, data->handle);
|
131
|
+
data->entry_point();
|
132
|
+
// Clear the entry point object now because it may contain bound objects.
|
133
|
+
// We want to run the destructor for these objects now, before this thread
|
134
|
+
// is removed from the thread group list, so that if anybody calls
|
135
|
+
// dynamic_thread_group::join_all() the caller can be sure that the
|
136
|
+
// threads are really done.
|
137
|
+
data->entry_point = boost::function<void ()>();
|
110
138
|
}
|
111
139
|
|
112
140
|
public:
|
@@ -136,11 +164,16 @@ public:
|
|
136
164
|
handle->iterator = thread_handles.end();
|
137
165
|
handle->iterator--;
|
138
166
|
try {
|
167
|
+
thread_func_data *data = new thread_func_data();
|
168
|
+
thread_func_data_guard guard(data);
|
169
|
+
data->entry_point = func;
|
170
|
+
data->handle = handle.get();
|
139
171
|
handle->thr = new thread(
|
140
|
-
boost::bind(&dynamic_thread_group::thread_main, this,
|
172
|
+
boost::bind(&dynamic_thread_group::thread_main, this, data),
|
141
173
|
name,
|
142
174
|
stack_size
|
143
175
|
);
|
176
|
+
guard.clear();
|
144
177
|
nthreads++;
|
145
178
|
} catch (...) {
|
146
179
|
thread_handles.erase(handle->iterator);
|
data/lib/phusion_passenger.rb
CHANGED
@@ -30,7 +30,7 @@ module PhusionPassenger
|
|
30
30
|
|
31
31
|
PACKAGE_NAME = 'passenger'
|
32
32
|
# Run 'rake ext/common/Constants.h' after changing this number.
|
33
|
-
VERSION_STRING = '5.0.
|
33
|
+
VERSION_STRING = '5.0.5'
|
34
34
|
|
35
35
|
PREFERRED_NGINX_VERSION = '1.6.2'
|
36
36
|
NGINX_SHA256_CHECKSUM = 'b5608c2959d3e7ad09b20fc8f9e5bd4bc87b3bc8ba5936a513c04ed8f1391a18'
|
@@ -103,7 +103,7 @@ class CommonLibraryBuilder
|
|
103
103
|
def enable_optimizations!(lto = false)
|
104
104
|
@default_optimization_level = "-O"
|
105
105
|
if lto
|
106
|
-
@
|
106
|
+
@default_extra_optimization_flags = "-flto"
|
107
107
|
end
|
108
108
|
end
|
109
109
|
|
@@ -135,22 +135,26 @@ private
|
|
135
135
|
file(object_file => dependencies_for(options)) do
|
136
136
|
case options[:optimize]
|
137
137
|
when :light
|
138
|
-
|
138
|
+
optimization_level = "-O"
|
139
139
|
when true, :heavy
|
140
|
-
|
140
|
+
optimization_level = "-O2"
|
141
141
|
when :very_heavy
|
142
|
-
|
142
|
+
optimization_level = "-O3"
|
143
143
|
when nil
|
144
|
-
|
144
|
+
optimization_level = @default_optimization_level
|
145
145
|
else
|
146
146
|
raise "Unknown optimization level #{options[:optimize]}"
|
147
147
|
end
|
148
|
+
|
149
|
+
optimize = "#{optimization_level} #{@default_extra_optimization_flags}".strip
|
150
|
+
|
148
151
|
if options[:strict_aliasing] == false # and not nil
|
149
152
|
optimize = "#{optimize} -fno-strict-aliasing"
|
150
153
|
# Disable link-time optimization so that we can no-strict-aliasing
|
151
154
|
# works: http://stackoverflow.com/a/25765338/20816
|
152
155
|
optimize.sub!(/-flto/, "")
|
153
156
|
end
|
157
|
+
|
154
158
|
ensure_directory_exists(File.dirname(object_file))
|
155
159
|
# We put 'optimize' at the end of the command string so that it overrides
|
156
160
|
# the default optimization level embedded in 'cflags'.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
2
|
-
# Copyright (c) 2014 Phusion
|
2
|
+
# Copyright (c) 2014-2015 Phusion
|
3
3
|
#
|
4
4
|
# "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
|
5
5
|
#
|
@@ -49,7 +49,7 @@ module PhusionPassenger
|
|
49
49
|
opts.banner = "Usage: passenger-config reopen-logs [OPTIONS]\n"
|
50
50
|
opts.separator ""
|
51
51
|
opts.separator " Instruct #{PROGRAM_NAME} agent processes to reopen their log files. This"
|
52
|
-
opts.separator " should be
|
52
|
+
opts.separator " should be invoked after you've rotated log files. This command returns after"
|
53
53
|
opts.separator " the log files have been reopened."
|
54
54
|
opts.separator ""
|
55
55
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
2
|
-
# Copyright (c) 2010-
|
2
|
+
# Copyright (c) 2010-2015 Phusion
|
3
3
|
#
|
4
4
|
# "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
|
5
5
|
#
|
@@ -68,14 +68,9 @@ module PhusionPassenger
|
|
68
68
|
# A list of globs which match all files that should be packaged
|
69
69
|
# in the Phusion Passenger gem or tarball.
|
70
70
|
GLOB = [
|
71
|
-
'.gitignore',
|
72
|
-
'.travis.yml',
|
73
71
|
'.editorconfig',
|
74
72
|
'configure',
|
75
73
|
'Rakefile',
|
76
|
-
'Gemfile',
|
77
|
-
'Gemfile.lock',
|
78
|
-
'Vagrantfile',
|
79
74
|
'README.md',
|
80
75
|
'CONTRIBUTORS',
|
81
76
|
'CONTRIBUTING.md',
|
@@ -94,8 +89,7 @@ module PhusionPassenger
|
|
94
89
|
'bin/*',
|
95
90
|
'doc/**/*',
|
96
91
|
'man/*',
|
97
|
-
'
|
98
|
-
'packaging/**/*',
|
92
|
+
'dev/**/*',
|
99
93
|
'helper-scripts/**/*',
|
100
94
|
'ext/common/**/*.{cpp,c,h,hpp,md,erb}',
|
101
95
|
'ext/apache2/*.{cpp,h,hpp,c,erb}',
|
@@ -115,53 +109,45 @@ module PhusionPassenger
|
|
115
109
|
'ext/oxt/*.txt',
|
116
110
|
'ext/oxt/detail/*.hpp',
|
117
111
|
'ext/ruby/*.{c,rb}',
|
118
|
-
'
|
119
|
-
'resources/**/*',
|
120
|
-
'test/.rspec',
|
121
|
-
'test/*.example',
|
122
|
-
'test/*.travis',
|
123
|
-
'test/*.rpm-automation',
|
124
|
-
'test/*.vagrant',
|
125
|
-
'test/*.supp',
|
126
|
-
'test/support/*.{c,cpp,h,rb}',
|
127
|
-
'test/tut/*',
|
128
|
-
'test/cxx/**/*.{cpp,h}',
|
129
|
-
'test/oxt/*.{cpp,hpp}',
|
130
|
-
'test/ruby/**/*',
|
131
|
-
'test/node/**/*',
|
132
|
-
'test/integration_tests/**/*',
|
133
|
-
'test/stub/**/*',
|
134
|
-
'test/stub/**/.*'
|
112
|
+
'resources/**/*'
|
135
113
|
]
|
136
114
|
|
115
|
+
# Files that should be excluded from the gem or tarball. Overrides GLOB.
|
137
116
|
EXCLUDE_GLOB = [
|
138
117
|
'**/.DS_Store',
|
139
|
-
'
|
140
|
-
'
|
141
|
-
'
|
118
|
+
'.gitignore',
|
119
|
+
'.gitmodules',
|
120
|
+
'.travis.yml',
|
121
|
+
'.settings/*',
|
122
|
+
'.externalToolBuilders/*',
|
123
|
+
'.cproject',
|
124
|
+
'.project',
|
125
|
+
'Gemfile',
|
126
|
+
'Gemfile.lock',
|
127
|
+
'Vagrantfile',
|
128
|
+
'Passenger.sublime-project',
|
129
|
+
'Passenger.xcodeproj/**/*',
|
130
|
+
'debian.template/**/*',
|
131
|
+
'packaging/**/*',
|
132
|
+
'test/**/*'
|
142
133
|
]
|
143
134
|
|
144
135
|
# Files that should be excluded from the Debian tarball.
|
145
|
-
DEBIAN_EXCLUDE_GLOB = [
|
146
|
-
"debian.template/**/*",
|
147
|
-
"packaging/**/*",
|
148
|
-
]
|
136
|
+
DEBIAN_EXCLUDE_GLOB = []
|
149
137
|
|
150
138
|
# Files and directories that should be excluded from the Homebrew installation.
|
151
139
|
HOMEBREW_EXCLUDE = [
|
152
|
-
".
|
153
|
-
"npm-shrinkwrap.json", "Gemfile", "Gemfile.lock", "debian.template",
|
154
|
-
"packaging", "dev", "test"
|
140
|
+
"package.json", "npm-shrinkwrap.json"
|
155
141
|
]
|
156
142
|
|
157
143
|
def self.files
|
158
144
|
result = Dir[*GLOB] - Dir[*EXCLUDE_GLOB]
|
159
145
|
result.reject! { |path| path =~ %r{/\.\.?$} }
|
160
|
-
|
146
|
+
result
|
161
147
|
end
|
162
148
|
|
163
149
|
def self.debian_orig_tarball_files
|
164
|
-
|
150
|
+
files - Dir[*DEBIAN_EXCLUDE_GLOB]
|
165
151
|
end
|
166
152
|
end
|
167
153
|
|