On Sat, 16 Mar 2002 23:14:17 +0900, in message
  "[ruby-list:34462] Re: 再帰の限度 (Mac OS X)"
  <200203161414.g2GEE9n10655 / edge.sky.yamashina.kyoto.jp>
  Takahiro Kambe <taca / sky.yamashina.kyoto.jp> wrote...
> > limit stacksize 2048k
> > 
> > としてやると、動くようになりました。これでまた足りない状況に
> ひょっとして、/etc/login.conf相当なファイルとかで制限されていたり、
> しませんか。(Darwinにあるかどうかは存じませんが。)

/etc/login.conf 相当の設定項目がどこかにないか探してみたのですが、
探しかたが悪いのか、みつかりませんでした。

Developer Toolsの付属ドキュメントによると、/etc/ttys の
console のエントリにある
/System/Library/CoreServices/loginwindow.app/loginwindow に
-LoginHook=<filename> というオプションをつけてやれば、
任意のコマンドやスクリプトをログインのときに実行してくれる
ようですが、たとえば、

#!/bin/sh
limit stacksize 2048k

という内容のシェルスクリプトを指定してみても、このプロセス内で
しか有効でないため、ログイン後のプロセスには反映されませんでした。

結局、system-wideに設定してやるには、シェルから起動するものに
関しては /etc/profile, /etc/csh.cshrc, /etc/zprofile に上記の
コマンドを加えてやるしか方法がなさそうです。

あるいは、Ruby の中ならば、setrlimit(2) を呼び出すためのC拡張
モジュールを作って、適宜スクリプトでそれを require するとか……。

--
Hiroyuki KUROSAKI <noir / st.rim.or.jp>
URL:http://www.st.rim.or.jp/~noir/
PGP key fingerprint = 6F A5 A2 78 A6 D0 6E DF  F2 BE 47 35 03 05 9C 0F