View | Details | Raw Unified | Return to bug 168513
Collapse All | Expand All

(-)www/mod_ruby/Makefile (-1 / +1 lines)
Lines 7-13 Link Here
7
7
8
PORTNAME=	mod_ruby
8
PORTNAME=	mod_ruby
9
PORTVERSION=	1.3.0
9
PORTVERSION=	1.3.0
10
PORTREVISION=	2
10
PORTREVISION=	3
11
CATEGORIES=	www ruby
11
CATEGORIES=	www ruby
12
MASTER_SITES=	http://www.modruby.net/archive/
12
MASTER_SITES=	http://www.modruby.net/archive/
13
PKGNAMEPREFIX=	${APACHE_PKGNAMEPREFIX}
13
PKGNAMEPREFIX=	${APACHE_PKGNAMEPREFIX}
(-)www/mod_ruby/files/patch-aa-git (-2 / +78 lines)
Lines 120-134 Link Here
120
diff -ur mod_ruby-1.3.0/mod_ruby.c mod_ruby/mod_ruby.c
120
diff -ur mod_ruby-1.3.0/mod_ruby.c mod_ruby/mod_ruby.c
121
--- mod_ruby-1.3.0/mod_ruby.c	2008-11-08 05:34:48.000000000 +0100
121
--- mod_ruby-1.3.0/mod_ruby.c	2008-11-08 05:34:48.000000000 +0100
122
+++ mod_ruby.c	2010-02-17 14:25:57.000000000 +0100
122
+++ mod_ruby.c	2010-02-17 14:25:57.000000000 +0100
123
@@ -706,7 +706,7 @@
123
@@ -658,7 +658,6 @@
124
     RETSIGTYPE (*sigterm_handler)_((int));
125
 #endif
124
 #ifdef RUBY_VM
126
 #ifdef RUBY_VM
125
     Init_prelude();
127
-    void Init_prelude(void);
128
     RUBY_INIT_STACK;
129
 #else
130
     VALUE stack_start;
131
@@ -703,12 +702,14 @@
126
 #endif
132
 #endif
133
 
134
     ruby_init_loadpath();
135
-#ifdef RUBY_VM
136
-    Init_prelude();
137
-#endif
127
-    default_load_path = GET_LOAD_PATH();
138
-    default_load_path = GET_LOAD_PATH();
139
+    {
140
+	char *argv[] = { "ruby", "-e", "" };
141
+	ruby_options(3, argv);
142
+    }
128
+    default_load_path = rb_ary_dup(GET_LOAD_PATH());
143
+    default_load_path = rb_ary_dup(GET_LOAD_PATH());
129
     rb_global_variable(&default_load_path);
144
     rb_global_variable(&default_load_path);
130
     rb_define_variable("$0", &progname);
145
     rb_define_variable("$0", &progname);
146
+    rb_define_variable("$PROGRAM_NAME", &progname);
131
     list = (char **) conf->load_path->elts;
147
     list = (char **) conf->load_path->elts;
148
     n = conf->load_path->nelts;
149
     for (i = 0; i < n; i++) {
150
@@ -734,6 +735,7 @@
151
     }
152
 }
153
 
154
+#ifndef RUBY_VM
155
 static void dso_unload(void *handle)
156
 {
157
 #if defined(_WIN32)
158
@@ -747,16 +749,24 @@
159
 #endif
160
 }
161
 
162
-static void ruby_finalize_interpreter()
163
+static void ruby_unload_libraries()
164
 {
165
     RUBY_EXTERN VALUE ruby_dln_librefs;
166
     int i;
167
 
168
-    ruby_finalize();
169
     for (i = 0; i < RARRAY_LEN(ruby_dln_librefs); i++) {
170
 	dso_unload((void *) NUM2LONG(RARRAY_PTR(ruby_dln_librefs)[i]));
171
     }
172
 }
173
+#endif
174
+
175
+static void ruby_finalize_interpreter()
176
+{
177
+    ruby_finalize();
178
+#ifndef RUBY_VM
179
+    ruby_unload_libraries();
180
+#endif
181
+}
182
 
183
 #if APR_HAS_THREADS
184
 static void* APR_THREAD_FUNC ruby_thread_start(apr_thread_t *t, void *data)
185
@@ -1006,8 +1016,7 @@
186
 
187
 static VALUE kill_threads(VALUE arg)
188
 {
189
-    extern VALUE rb_thread_list();
190
-    VALUE threads = rb_thread_list();
191
+    VALUE threads = rb_protect_funcall(rb_cThread, rb_intern("list"), NULL, 0);
192
     VALUE main_thread = rb_thread_main();
193
     VALUE th;
194
     int i;
195
diff -ur mod_ruby-1.3.0/mod_ruby.h mod_ruby/mod_ruby.h
196
--- mod_ruby-1.3.0/mod_ruby.h	2008-11-08 13:57:19.000000000 +1000
197
+++ mod_ruby.h	2011-08-09 00:52:48.000000000 +1100
198
@@ -47,8 +47,7 @@
199
 
200
 #define IO_PATH(fptr) (StringValuePtr(fptr->pathv))
201
 
202
-VALUE rb_get_load_path(void);
203
-#define GET_LOAD_PATH() (rb_get_load_path())
204
+#define GET_LOAD_PATH() (rb_gv_get("$:"))
205
 #define SET_LOAD_PATH(path) (rb_gv_set("$:", path))
206
 
207
 #else
132
diff -ur mod_ruby-1.3.0/request.c mod_ruby/request.c
208
diff -ur mod_ruby-1.3.0/request.c mod_ruby/request.c
133
--- mod_ruby-1.3.0/request.c    2008-11-08 04:57:19.000000000 +0100
209
--- mod_ruby-1.3.0/request.c    2008-11-08 04:57:19.000000000 +0100
134
+++ request.c  2010-02-17 14:25:57.000000000 +0100
210
+++ request.c  2010-02-17 14:25:57.000000000 +0100

Return to bug 168513