diff options
author | Dirk Meyer <dinoex@FreeBSD.org> | 2012-06-02 08:55:36 +0000 |
---|---|---|
committer | Dirk Meyer <dinoex@FreeBSD.org> | 2012-06-02 08:55:36 +0000 |
commit | 0cac623a761c78e1ff8b83edfdc74f62d9c330c8 (patch) | |
tree | fe9c284ed14ae95f64c1e9ee5741e631ebf98e8e /www/mod_ruby/files | |
parent | - Update to 1.42 (diff) |
- import latest git patches.
PR: 168513
Submitted by: fluffy (Dima Panov)
Notes
Notes:
svn path=/head/; revision=297997
Diffstat (limited to 'www/mod_ruby/files')
-rw-r--r-- | www/mod_ruby/files/patch-aa-git | 80 |
1 files changed, 78 insertions, 2 deletions
diff --git a/www/mod_ruby/files/patch-aa-git b/www/mod_ruby/files/patch-aa-git index 436182678c8c..908a634e11f9 100644 --- a/www/mod_ruby/files/patch-aa-git +++ b/www/mod_ruby/files/patch-aa-git @@ -120,15 +120,91 @@ diff -ur mod_ruby-1.3.0/lib/apache/ruby-run.rb mod_ruby/lib/apache/ruby-run.rb diff -ur mod_ruby-1.3.0/mod_ruby.c mod_ruby/mod_ruby.c --- mod_ruby-1.3.0/mod_ruby.c 2008-11-08 05:34:48.000000000 +0100 +++ mod_ruby.c 2010-02-17 14:25:57.000000000 +0100 -@@ -706,7 +706,7 @@ +@@ -658,7 +658,6 @@ + RETSIGTYPE (*sigterm_handler)_((int)); + #endif #ifdef RUBY_VM - Init_prelude(); +- void Init_prelude(void); + RUBY_INIT_STACK; + #else + VALUE stack_start; +@@ -703,12 +702,14 @@ #endif + + ruby_init_loadpath(); +-#ifdef RUBY_VM +- Init_prelude(); +-#endif - default_load_path = GET_LOAD_PATH(); ++ { ++ char *argv[] = { "ruby", "-e", "" }; ++ ruby_options(3, argv); ++ } + default_load_path = rb_ary_dup(GET_LOAD_PATH()); rb_global_variable(&default_load_path); rb_define_variable("$0", &progname); ++ rb_define_variable("$PROGRAM_NAME", &progname); list = (char **) conf->load_path->elts; + n = conf->load_path->nelts; + for (i = 0; i < n; i++) { +@@ -734,6 +735,7 @@ + } + } + ++#ifndef RUBY_VM + static void dso_unload(void *handle) + { + #if defined(_WIN32) +@@ -747,16 +749,24 @@ + #endif + } + +-static void ruby_finalize_interpreter() ++static void ruby_unload_libraries() + { + RUBY_EXTERN VALUE ruby_dln_librefs; + int i; + +- ruby_finalize(); + for (i = 0; i < RARRAY_LEN(ruby_dln_librefs); i++) { + dso_unload((void *) NUM2LONG(RARRAY_PTR(ruby_dln_librefs)[i])); + } + } ++#endif ++ ++static void ruby_finalize_interpreter() ++{ ++ ruby_finalize(); ++#ifndef RUBY_VM ++ ruby_unload_libraries(); ++#endif ++} + + #if APR_HAS_THREADS + static void* APR_THREAD_FUNC ruby_thread_start(apr_thread_t *t, void *data) +@@ -1006,8 +1016,7 @@ + + static VALUE kill_threads(VALUE arg) + { +- extern VALUE rb_thread_list(); +- VALUE threads = rb_thread_list(); ++ VALUE threads = rb_protect_funcall(rb_cThread, rb_intern("list"), NULL, 0); + VALUE main_thread = rb_thread_main(); + VALUE th; + int i; +diff -ur mod_ruby-1.3.0/mod_ruby.h mod_ruby/mod_ruby.h +--- mod_ruby-1.3.0/mod_ruby.h 2008-11-08 13:57:19.000000000 +1000 ++++ mod_ruby.h 2011-08-09 00:52:48.000000000 +1100 +@@ -47,8 +47,7 @@ + + #define IO_PATH(fptr) (StringValuePtr(fptr->pathv)) + +-VALUE rb_get_load_path(void); +-#define GET_LOAD_PATH() (rb_get_load_path()) ++#define GET_LOAD_PATH() (rb_gv_get("$:")) + #define SET_LOAD_PATH(path) (rb_gv_set("$:", path)) + + #else diff -ur mod_ruby-1.3.0/request.c mod_ruby/request.c --- mod_ruby-1.3.0/request.c 2008-11-08 04:57:19.000000000 +0100 +++ request.c 2010-02-17 14:25:57.000000000 +0100 |