[ruby-list:50029] プロセス間で変数が共有される?

From: "HOMMA, YUSAKU" <y.homma@...>
Date: 2014-12-19 09:33:55 UTC
List: ruby-list #50029
本間と申します。

CentOS 6.5、Rails 3.2.8、ruby 1.8.7 の環境で作ったプログラムをApache+Passengerで動かしています。
このプログラムに別々のクライアントP/Cからアクセスすると、変数の値が混ざってしまいます。
例えば、

クライアントAから、 @@val に "AAA" をセット
クライアントBから、 @@val に "BBB" をセット
クライアントAで @@val を表示 -> "BBB" と表示される

小職の理解では、サーバーは個々のクライアントからのリクエストに対して独立したプロセスを生成し、
プロセス間で変数の値が混ざることはない、と思っていました。
しかし、少なくともグローバル変数とクラス変数は複数クライアントで共有されている様です。
これを独立させるにはどうすれば良いのでしょう? どなたかご教示下さい。
なお Webrick、Passengerどちらでも同じ結果でした。
宜しくお願いします。

--
本間

In This Thread

Prev Next