notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
All times are UTC
non port: lang/ruby18/files/patch-gc.c

Number of commits found: 6

Wed, 6 Jan 2010
[ 06:31 stas search for other commits by this committer ] Original commit 
- Update to patchlevel 248.
Mon, 12 Oct 2009
[ 13:15 stas search for other commits by this committer ] Original commit 
- Don't build ruby with threads support on FreeBSD versions before 7.2
- On FreeBSD >= 7.2 allocate the new thread with adequate amount of stack
  space to run the main ruby code in.  This allows to mitigate problem
  when too low stack space available for ruby when running with pthreads
- Bump portrevision.

The long version.  Before this change we used to link ruby against pthreads
uncoditionally on all versions of FreeBSD.  This is indispensable in order
to load the threaded shared objects withing ruby.  However, this causes a
dramatic decrease in the stack space available as pthreads only allows
up to several megabytes of stack space for the main application threads.
The only solution to this is to create the new thread immediately after
the program start with rigth stack size attributes set.  Nonetheless this
scheme won't work for us on FreeBSD version before 7.2 as malloc implementation
in these versions was not threaded fork safe (i.e. this is impossible to
fork from the threaded program and expect malloc/free functions to work).
Thus the only solution for now can be to disable pthreads entirely on
FreeBSD <= 7.2.  This won't cause any performance/usability problems for
users as Ruby 1.8 uses green threads, however it may prevent <= 7.2
users to load shared libraries linked agains pthreads.

Reported by:    "Fran├žois Montel" <>
Tested by:      Sean Mullen <>
Fri, 19 Jun 2009
[ 12:42 stas search for other commits by this committer ] Original commit 
- Fix stack overflow detection algorithm.  It has not worked before as
  we were linking the ruby binary against pthreads, and the default
  stack size detection method with getrlimit didn't returned right
  values in this case.  Now, if threads enabled, it also tries to
  determine the stack size via pthreads calls and use this value if
  it is smaller than what getrlimit returned.  Furthermore, the stack
  overflow detection routine now works proactively, generating
  exception if there're probability the stack will be exhausted by
  the time of the next check (ruby performs checks only in each 256th
  call of rb_call0). [1]
- Build pthreads-enabled ruby by default. I have not received any
  bug reports for this for years, and this verison will work correctly
  with threaded libraries. Also, do not link agains pthreads in non-pthread
  case (this breaks stack size detection algorithm), and eliminate the
  option to disable pthreads (so only power users who know what they're
  doing can disable them).
- Build RDoc by default so it is available in the package.
- Bump portrevision.

PR:             ports/132158
Reported by:    Eugene Pimenov <>
Thu, 18 Jun 2009
[ 12:43 stas search for other commits by this committer ] Original commit 
- Fix the bug in ruby GC when object finalizer were never called. This has
  been triggered by portupgrade which uses finalizers to remove lockfiles.
- Fix the bug in URI module that smashed uri paths in merge method for
  ftp uris. [1]
- Fix segmentation fault when cloning objects with dynamically created
  methods (via instance_eval). [2]

PR:             ports/131775 [1], ports/135533 [2]
Submitted by:   Yoshisato YANAGISAWA <> [2],
                Helmut Schneider <> [1],
                Jaakko Heinonen <> [1],
                Peter Hofer <> [1]
Obtained from:  ruby_1_8 svn tree (rev 22679) [2]
Mon, 15 Dec 2003
[ 06:35 knu search for other commits by this committer ] Original commit  (Only the first 10 of 11 ports in this commit are shown above. View all ports for this commit)
Update lang/ruby18 and lang/ruby16-shim-ruby18 to 1.8.1-preview3.
Thu, 27 Nov 2003
[ 07:39 marcel search for other commits by this committer ] Original commit 
Fix the build on ia64:

The __libc_ia64_register_backing_store_base variable is defined on
Linux (in glibc) to allow processes to obtain the base of the RSE
backing store. On FreeBSD we do not have such a variable. We also
do not yet have a different interface for processes to use. So, for
now, hardcode the base address of the RSE backing store as it is
on FreeBSD. There's little chance this will change in the future,
so it's not that evil.

Approved by: portmgr (kris)

Number of commits found: 6