[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:002492] Re: [gphys_netcdf] too many connects



堀之内です。

これ、"connects" から想像着く通り、OPeNDAP/DODS の NetCDF ライブ
ラりーから出てます。30個ぐらいまでの制限になってしまってて、純正
品の NetCDF ライブラリーよりも随分少ないです。ローカルなファイル
なので、こんなに制限する必要ないはずなのですが、要するに実装が悪
いんですね。意見を言っとかないと思いつつ、まだやってません。

# デフォルトで DODS 対応版を使うようにするのも考え物かもしれま
   せん。しかし、対応版と非対応版の2つのパッケージを用意するの
   はややこしそう。やはり改善してもらうのがいいような。。。

> 竹広です. 
> 
> 毎度 trivial なところでこけてます. 今回は以下のような
> メッセージにでくわししました. 単純に netcdf ファイルを
> いくつも開けているんですけど, その数に制限があるんでしょうか. 
> 
>   add_connect: too many connects, cannot add another
>   /usr/lib/ruby/1.8/numru/gphys/gphys_netcdf_io.rb:520:in `var': Not a netCDF id (NetcdfBadid)
> 	  from /usr/lib/ruby/1.8/numru/gphys/gphys_netcdf_io.rb:520:in `__interpret_files'
> 	  from /usr/lib/ruby/1.8/numru/gphys/gphys_netcdf_io.rb:316:in `open'
> 	  from /usr/lib/ruby/1.8/numru/gphys/gphys_io.rb:94:in `open'
> 	  from /usr/lib/ruby/1.8/numru/gphys/gphys_io.rb:238:in `open_gturl'
> 
> ruby プログラムの方では
> 
>   while ARGV[0] do
>     gturl = ARGV[0]
>     gphys = GPhys::IO.open_gturl(gturl)
>     ...
>   end
> 
> という具合です. もしかして GPhys::IO.open_gturl(gturl) を
> くりかえしてるだけだと, 前開けた奴はそのまんまになってるのでしょうか. 
> もしそうなら loop の最後にその都度 close させればいいと思うんですけど, 
> そのためにはどうすればいいでしょうか. 
> 
>                     Takepiro(竹広真一)@数理解析研究所. 京都大学
>                       	E-mail:takepiro@xxxxxxxxxxxxxx
> 			       takepiro@xxxxxxxxxxxxxxxxxxxx
> 
>