Permalink
Browse files

added 1.8.7 patches for patchlevel 352

  • Loading branch information...
1 parent d551a54 commit 9205d310b42e35d6fe46396650c07c3bb3d6f442 @skaes skaes committed Jul 11, 2011
View
@@ -17,18 +17,18 @@ This will automatically remove old versions of the patchsets.
Second, reinstall the rubies you want to patch:
- rvm install 1.8.7-p334 --force --patch railsexpress
- rvm install 1.9.2-p180 --force --patch railsexpress
+ rvm install 1.8.7 --force --patch railsexpress
+ rvm install 1.9.2 --force --patch railsexpress
Alternatively, you can pass the ruby version to reinstall to the install script:
- ./install.sh 1.8.7-p334 1.9.2-p180
+ ./install.sh 1.8.7 1.9.2
IF you don't want to mess up your vanilla rubies, pass a -n flag to rvm when installing
the patches:
- rvm install 1.8.7-p334 --force --patch railsexpress -n railsexpress
- rvm install 1.9.2-p180 --force --patch railsexpress -n railsexpress
+ rvm install 1.8.7 --force --patch railsexpress -n railsexpress
+ rvm install 1.9.2 --force --patch railsexpress -n railsexpress
This will then require you to specify the ruby version for rvm like so:
@@ -39,13 +39,14 @@ This will then require you to specify the ruby version for rvm like so:
The patches are for specific versions of ruby only. They might work with later versions,
but there's no guarantee. The following versions are currently supported:
- 1.8.7-p334
- 1.9.2-p180
+ 1.8.7-p334 # no recommended, as p352 fixes a serious GC corruption problem
+ 1.8.7-p352 # current default for rvm MRI-ruby 1.8.7
+ 1.9.2-p180 # current default for rvm MRI-ruby 1.9.2
To enable heap dump support, pass the --enable-gcdebug option to the rvm install command.
- rvm install 1.8.7-p334 --force --patch railsexpress -C --enable-gcdebug -n gcdebug
- rvm install 1.9.2-p180 --force --patch railsexpress -C --enable-gcdebug -n gcdebug
+ rvm install 1.8.7 --force --patch railsexpress -C --enable-gcdebug -n gcdebug
+ rvm install 1.9.2 --force --patch railsexpress -C --enable-gcdebug -n gcdebug
If rvm cannot configure your ruby, update your rvm install.
@@ -0,0 +1,101 @@
+diff --git a/.gitignore b/.gitignore
+new file mode 100644
+index 0000000..00c347a
+--- /dev/null
++++ b/.gitignore
+@@ -0,0 +1,95 @@
++.ext
++.installed.list
++.rbconfig.time
++Makefile
++autom4te.cache/
++config.h
++config.status
++configure
++ext/Win32API/Makefile
++ext/bigdecimal/Makefile
++ext/curses/Makefile
++ext/dbm/Makefile
++ext/digest/Makefile
++ext/digest/bubblebabble/Makefile
++ext/digest/md5/Makefile
++ext/digest/rmd160/Makefile
++ext/digest/sha1/Makefile
++ext/digest/sha2/Makefile
++ext/dl/Makefile
++ext/dl/call.func
++ext/dl/callback.func
++ext/dl/cbtable.func
++ext/dl/dlconfig.h
++ext/dl/dlconfig.rb
++ext/enumerator/Makefile
++ext/etc/Makefile
++ext/fcntl/Makefile
++ext/gdbm/Makefile
++ext/iconv/Makefile
++ext/io/wait/Makefile
++ext/nkf/Makefile
++ext/openssl/Makefile
++ext/openssl/extconf.h
++ext/pty/Makefile
++ext/racc/cparse/Makefile
++ext/readline/Makefile
++ext/sdbm/Makefile
++ext/socket/Makefile
++ext/stringio/Makefile
++ext/strscan/Makefile
++ext/syck/Makefile
++ext/syslog/Makefile
++ext/thread/Makefile
++ext/tk/Makefile
++ext/tk/tkutil/Makefile
++ext/win32ole/Makefile
++ext/win32ole/.document
++ext/zlib/Makefile
++largefile.h
++miniruby
++parse.c
++rbconfig.rb
++ruby
++enc.mk
++ext/bigdecimal/extconf.h
++ext/continuation/
++ext/coverage/
++ext/curses/extconf.h
++ext/dbm/extconf.h
++ext/digest/bubblebabble/extconf.h
++ext/digest/extconf.h
++ext/digest/md5/extconf.h
++ext/digest/rmd160/extconf.h
++ext/digest/sha1/extconf.h
++ext/digest/sha2/extconf.h
++ext/dl/callback.h
++ext/dl/extconf.h
++ext/etc/extconf.h
++ext/fcntl/extconf.h
++ext/fiber/
++ext/iconv/extconf.h
++ext/io/wait/extconf.h
++ext/json/
++ext/nkf/extconf.h
++ext/pty/extconf.h
++ext/racc/cparse/extconf.h
++ext/readline/extconf.h
++ext/ripper/
++ext/sdbm/extconf.h
++ext/socket/constants.h
++ext/socket/extconf.h
++ext/stringio/extconf.h
++ext/strscan/extconf.h
++ext/syck/extconf.h
++ext/syslog/extconf.h
++ext/tk/extconf.h
++ext/tk/tkutil/extconf.h
++ext/zlib/extconf.h
++miniprelude.c
++prelude.c
++revision.h
++*.dylib
++*.log
++*.dSYM
++patches-ruby*
@@ -0,0 +1,27 @@
+diff --git a/eval.c b/eval.c
+index 7886e17..6ff2560 100644
+--- a/eval.c
++++ b/eval.c
+@@ -12461,6 +12461,11 @@ rb_thread_start_0(fn, arg, th)
+ curr_thread->next = th;
+ th->priority = curr_thread->priority;
+ th->thgroup = curr_thread->thgroup;
++#if defined(HAVE_SETITIMER) || defined(_THREAD_SAFE)
++ if (!thread_init) {
++ rb_thread_start_timer();
++ }
++#endif
+ }
+ START_TIMER();
+
+@@ -13189,7 +13194,9 @@ rb_thread_atfork()
+ main_thread = curr_thread;
+ curr_thread->next = curr_thread;
+ curr_thread->prev = curr_thread;
+- STOP_TIMER();
++#if defined(HAVE_SETITIMER) || defined(_THREAD_SAFE)
++ rb_thread_stop_timer();
++#endif
+ }
+
+
Oops, something went wrong.

0 comments on commit 9205d31

Please sign in to comment.