■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50
read.cgi再開発スレ
- 342 :root▲ ★ :04/11/29 02:27:01 ID:???
 -  送ると => 送っていただけると 
  
 です。すんません。 
  
 なんか、どきどきしてる。 
 
- 343 : ◆qb.x27/m96  :04/11/29 02:28:57 ID:LI8aX1lr
 -    ∧_∧ 
  ( ・∀・) ドキドキ 
  ( ∪ ∪ 
  と__)__) 
 
- 344 :FOX ★ :04/11/29 02:29:17 ID:???
 -  755 だった。(嘘ついてすんません) 
  
 #へんな所に誤爆したのは秘密です 
 
- 345 : ◆cZfSunOs.U  :04/11/29 02:30:11 ID:4/QiqQ6B
 -  >>341 
 えーと......ベースのソースと cgidso 版の diff ってことでしょうか? 
 ベースのは >>61 にありますが...... 
 
- 346 :root▲ ★ :04/11/29 02:31:20 ID:???
 -  >>345 
 そです、そです。 
  
 なるほど、こっちで作ってもいいのかも。 
 でもねんのため、送っておいていただけるとうれしいです。 
 
- 347 : ◆cZfSunOs.U  :04/11/29 02:32:34 ID:4/QiqQ6B
 -  >>346 
 ではしばらくお待ちを...... 
 
- 348 :名無しお兄ちゃん……大好きv ◆XB8eKarenE  :04/11/29 02:37:28 ID:g6RafNdd
 -  http://qb5.2ch.net/test/read.cgi/operate/1087199303/307- 
  
 きになるけどねるねるねるね。気づいたら26時半なのねー(汗 
 
- 349 :FOX ★ :04/11/29 02:40:58 ID:???
 -  わおっ CC で saitama@saita.ma もー 
 
- 350 :root▲ ★ :04/11/29 02:46:20 ID:???
 -  今のだと(あたりまえだけど)dat落ちしたスレは、読めないすね。 
  
 さて、どっかに実験環境(>>311 の 3)を作るのがいいのかしら。 
 
- 351 :FOX ★ :04/11/29 02:47:31 ID:???
 -  このまま live8 でやろうかと、、、 
 最新のを持ってきて(どこにあるんでしたっけ? qb6 ?) 
 
- 352 :root▲ ★ :04/11/29 02:48:11 ID:???
 -  >>351 
 qb6ですね。 
 
- 353 : [―{}@{}@{}-] 動け動けウゴウゴ2ちゃんねる :04/11/29 02:49:32 ID:TtSvBU/v
 -  だめぽ? 
 http://live8.2ch.net/test/read.cgi/liveanb/1101655005/625- 
 
- 354 :root▲ ★ :04/11/29 02:57:49 ID:???
 -  >>353 
 おや。 
 これはいったい。 
 
- 355 :root▲ ★ :04/11/29 03:01:01 ID:???
 -  >>353 
 http://live8.2ch.net/test/read.cgi/liveanb/1101655005/624-  
 http://live8.2ch.net/test/read.cgi/liveanb/1101655005/626-  
  
 は大丈夫なのか。 
 
- 356 : ◆cZfSunOs.U  :04/11/29 03:01:15 ID:4/QiqQ6B
 -  >>341 >>349 すみません......メーラが挙動不審で手間取りまして遅くなりました. 
 今お送りしました. 
 
- 357 :FOX ★ :04/11/29 03:01:41 ID:???
 -  何か おかしい? 
 普通に見えるが、、、 
 
- 358 : ◆BFzK/mtqM2  :04/11/29 03:02:24 ID:3uDLu370
 -  >>355 
 何度かリロードするとおかしくなりますね。。。。 
 
- 359 :動け動けウゴウゴ2ちゃんねる :04/11/29 03:03:49 ID:OjCpmQ+h
 -  >>357 
 これは? 
 http://live8.2ch.net/test/read.cgi/liveanb/1101655005/l50 
 
- 360 :root▲ ★ :04/11/29 03:04:29 ID:???
 -  >>356 
 受け取りました。どもです。 
  
 >>357 
 こっちでは、えっちなのはいけないと思います。って出てる。 
 
- 361 :動け動けウゴウゴ2ちゃんねる :04/11/29 03:05:46 ID:ovI0quUo
 -  何がおかしいかわからん。。。 
 
- 362 :FOX ★ :04/11/29 03:06:23 ID:???
 -  ふんふん 
  
 この辺は最新のにしてから DSO の性質を見つつ 
 read.c をぼちぼち触っていくという作戦かと、、 
  
 現状では リロードで直ると、 
 
- 363 :root▲ ★ :04/11/29 03:07:05 ID:???
 -  Sleipnirを起動しなおしたら直った、、、。 
 IEでも正常か。 
  
 >>359 
 正しく出るようです。 
 
- 364 :FOX ★ :04/11/29 03:07:11 ID:???
 -  >>361 
 たまに表示がぐたぐたにむなるようです。 
  
 メモリーの使い方とか、その辺だろうなと、 
 
- 365 : ◆cZfSunOs.U  :04/11/29 03:07:48 ID:4/QiqQ6B
 -  う〜ん......何かエラーログに出てたりとか httpd が core 吐いたりとかしてますか? 
 
- 366 :root▲ ★ :04/11/29 03:10:01 ID:???
 -  core吐きはないみたいですね。 
 エラーログもそれっぽいのはないみたい。 
 
- 367 : ◆cZfSunOs.U  :04/11/29 03:17:59 ID:4/QiqQ6B
 -  こちらでもソース見ながら原因考えてみます...... 
 
- 368 : [―{}@{}@{}-] 動け動けウゴウゴ2ちゃんねる :04/11/29 03:22:00 ID:TtSvBU/v
 -  >>359 
 l50でもリロードするとダメになるときがありますね・・・ 
 
- 369 : ◆cZfSunOs.U  :04/11/29 03:22:04 ID:4/QiqQ6B
 -  これってどの板・スレでも起こりますかね? それとも特定の板・スレのみでしょうか? 
 
- 370 :動け動けウゴウゴ2ちゃんねる :04/11/29 03:25:49 ID:WHY/0MpL
 -  今試して見たら板・スレに関係なく起こってますな 
 
- 371 : [―{}@{}@{}-] 動け動けウゴウゴ2ちゃんねる :04/11/29 03:26:49 ID:TtSvBU/v
 -  >>369 
 適当にいくつか見ましたが板もスレもレス指定も関係なく出てくるようです 
  
 >936 名前の前に改行) 
 ■掲示板に戻る■</a> <a href=./>全部</a> <a href=l50>最新50</a><p><font size=+1 color=red><dd> <a href="../test/read.cgi/liveanb/1101653051/933" target="_blank"> 
 >>933</a> <br> わざととらせたということはないだろうな。あの表情だったら  <br><br> 
 <dt>936 名前:<a href="mailto:sage "><b>名無しステーション </b></a> :04/11/29 02:46:09 ID:055hkqユM </font><dl></dl><hr><a href="../../../../livejupiter/">掲示板に戻る</a> 
 
- 372 :root▲ ★ :04/11/29 03:29:41 ID:???
 -  これでdso化したら、プログラムをリエントラント(再入可能)に作る必要がある、ってことなんだろうか。 
  
 # ちとねむいっす。ねたら負け組だけど、明日は普通に会社あるし。 
 # とりあえずふろ。 
 
- 373 :動け動けウゴウゴ2ちゃんねる :04/11/29 03:30:30 ID:uF/8zKyA
 -  おつかれさまー 
 
- 374 :FOX ★ :04/11/29 03:33:26 ID:???
 -  eq 
 
- 375 :FOX ★ :04/11/29 03:33:42 ID:???
 -  でかっ 
 
- 376 :FOX ★ :04/11/29 03:34:58 ID:???
 -  まだ揺れとる 
 
- 377 :▲ 某ソレ511 :04/11/29 03:36:34 ID:oxD2FF+l
 -  釧路で5強っすか、、かなり大きいですね、、 
 
- 378 : ◆cZfSunOs.U  :04/11/29 03:40:53 ID:4/QiqQ6B
 -  >>372 reentrant にはしてあります(っていうか,書き換え作業の大部分はそこでしたので). 
 まぁ見落としなどはあるかも知れませんが...... 
  
 あと考えられるのは......httpd のビルド時に例えば -D_XOPEN_SOURCE=500 などの 
 マクロ定義はしてあるのでしょうか? こういうもので変数型が変わるなどの影響が 
 出ることもあり得るので. 
  
 apxs -q CFLAGS CPPFLAGS 
  
 を実行して確認して,このあたりのフラグは bbs.so ビルド時もそろえた方がいいかと思います. 
 
- 379 : [―{}@{}@{}-] 動け動けウゴウゴ2ちゃんねる :04/11/29 03:44:45 ID:TtSvBU/v
 -  datが直接表示 
  
 >04/11/29 02:11:59 ID:sCrhvqx+<> 漏れは白を応援するぜ!! <> 
 名無しでいいとも!<><>04/11/29 02:12:02 ID:hz69xFMh<> ヤナはフルみたい <> 
 名無しでいいとも!<><>04/11/29 02:12:04 ID:hDPLKkje<> <a href="../test/read.cgi/livecx/1101659114/707" target="_blank"ユM </font><dl></dl><hr><a href="../../../../livejupiter/">掲示板に戻る</a> 
 
- 380 :動け動けウゴウゴ2ちゃんねる :04/11/29 03:46:58 ID:Ht4o1cs1
 -  他の板とか他のスレのログが出てくるんだよね。 
 
- 381 :動け動けウゴウゴ2ちゃんねる :04/11/29 03:52:50 ID:/5ypnFCQ
 -  >>376 
 地震は地震板でとあなた自身が自信をもって言っていませんでしたか? 
 
- 382 :FOX ★ :04/11/29 03:54:32 ID:???
 -  いいえ 
 
- 383 :▲ 某ソレ511 :04/11/29 03:56:30 ID:oxD2FF+l
 -  それと正反対に、 
 地震の時はすべての板でやれといってた気がするが、、 
 
- 384 :FOX ★ :04/11/29 03:58:03 ID:???
 -  んだんだ 
 
- 385 :動け動けウゴウゴ2ちゃんねる :04/11/29 03:59:57 ID:kU5NuXM1
 -  取りあえず狐さんは無事だか動物的カン無しと φ(−−) 
 
- 386 :動け動けウゴウゴ2ちゃんねる :04/11/29 04:01:35 ID:YF2fIfwl
 -  ★実況報告スレ 7★ 
 >>739 
 地震系での鯖増強はなしってことか、、、乙です。 
  
 746 名前:見習い▲▲ ★ 投稿日:04/09/06 01:05 ID:??? 
 気象庁とか国がやれはせいいんでないの? 
 野球実況もおなじだけど、なんでも2ちゃんねるで出来るというのは 
 無理だと思う。 何かをあきらめれば何かが出来るとは思うけど、 
  
 実況全部廃止して地震にそなえるとか、 
 
- 387 :動け動けウゴウゴ2ちゃんねる :04/11/29 04:03:39 ID:/5ypnFCQ
 -  I'm sorry.  
 It was my misapprehension. 
  
 
- 388 :動け動けウゴウゴ2ちゃんねる :04/11/29 04:05:39 ID:Ht4o1cs1
 -  というか 
 >自身が自信 
 これが書きたかっただけっしょ?w 
 
- 389 :FOX ★ :04/11/29 04:38:31 ID:???
 -  なんとなく 
 直ったかも 
  
 >>379 とか >>353- 
 
- 390 :ヾ(゚パ)ノ ◆f0.zuburi6  :04/11/29 04:43:56 ID:O984QGRN
 -  >>389 おつおつ 
 win2000pro IE6sp1にて確認。 
 5回ほどリロードしてみたけどいいみたい。 
 
- 391 :▲ 某ソレ511 :04/11/29 04:45:21 ID:oxD2FF+l
 -  おっ、>>353 なおたね。 
 おつです、おつです。。 
 
- 392 : ◆cZfSunOs.U  :04/11/29 04:47:07 ID:4/QiqQ6B
 -  >>389 お疲れさまです.こちらでも正常に見えるようです. 
 # こんな時間ですが,私も気になって...... 
  
 何か手を加えたとしたら,どんなことでしたでしょうか? 
 
- 393 :FOX ★ :04/11/29 04:48:53 ID:???
 -  RAWモードとか使用していないのを外していったら 
 直った出ス。 
  
 つまり 基本的にはread2ch.h の #define をコメントにしていっただけです。 
  
 もともと潜在的にあるバグの気がします。 
 
- 394 : ◆cZfSunOs.U  :04/11/29 04:51:26 ID:4/QiqQ6B
 -  >>393 なるほど......ともあれ,お疲れさまでした. 
 
- 395 :むむむ@寝床 P061204003013.ppp.prin.ne.jp :04/11/29 04:56:21 ID:7QDQ2sad
 -  なるほどそういう事でしたか。 
 おつでした。 
 てなわけで、おやすみなさい。 
 
- 396 : [―{}@{}@{}-] 動け動けウゴウゴ2ちゃんねる :04/11/29 04:56:27 ID:TtSvBU/v
 -  乙です 
 問題梨でした 
 
- 397 :むむむ@寝床 P061204003013.ppp.prin.ne.jp :04/11/29 05:06:48 ID:7QDQ2sad
 -  忘れないうちにメモ。 
 これ入れたら、read.cgiの時はKeepAliveを切らない方がいいのかも。 
 
- 398 :FOX ★ :04/11/29 05:33:40 ID:???
 -  またまた 質問しておこう 
  
 この場合 read,cgi@live8 の出力は mod_deflate で圧縮されるですか? 
 
- 399 : [―{}@{}@{}-] 動け動けウゴウゴ2ちゃんねる :04/11/29 05:49:35 ID:TtSvBU/v
 -  圧縮されているようです 
 telnet live8.2ch.net 80 
 Trying 206.223.151.225... 
 Connected to live8.2ch.net. 
 Escape character is '^]'. 
 GET /test/read.cgi/livejupiter/1101557599/1 HTTP/1.0 
 Host: live8.2ch.net 
 Accept-Encoding: compress, gzip 
  
 HTTP/1.1 200 OK 
 Date: Sun, 28 Nov 2004 20:48:35 GMT 
 Server: Apache/2.0.52 
 Last-Modified: Sun, 28 Nov 2004 18:50:44 GMT 
 Vary: Accept-Encoding 
 Content-Encoding: gzip 
 Content-Length: 1010 
 Connection: close 
 Content-Type: text/html 
  
 (以下バイナリ) 
 
- 400 : [―{}@{}@{}-] 動け動けウゴウゴ2ちゃんねる :04/11/29 05:50:17 ID:TtSvBU/v
 -  追記:どのモジュールで圧縮されているかまでは・・・・スンマソ 
 
- 401 :▲:/usr/local/bin/ch2 -o i686  ◆P8fXJj6wwo  :04/11/29 07:16:10 ID:mfH1gp4Z
 -  おおおおーいよいよmod_cgidso投入ですかー 
 狐さん&むむむさん&◆cZfSunOs.Uさん乙ですっ! 
  
 しかーし 祭りに乗り遅れた・・・orz 
 
- 402 :root▲ ★ :04/11/29 14:20:00 ID:???
 -  >>398-400 
 DEFLATE text/html と指定してあるので、従来どおり mod_deflate は有効です。 
 
- 403 :動け動けウゴウゴ2ちゃんねる :04/11/29 17:07:14 ID:s9e0/XRp
 -  200で圧縮かあ・・・ 
 
- 404 :動け動けウゴウゴ2ちゃんねる :04/11/29 17:08:33 ID:YUCTKKXt
 -  ? 
 
- 405 :動け動けウゴウゴ2ちゃんねる :04/11/29 17:11:39 ID:oZ/fVKJl
 -  live8、IEでスレッド開くと書き込み欄の上に、 
 10:00PM - 02:00AM の間一気に全部は読めませんって出るけど、 
 今5:00PMでその状態なってますよ。 
 
- 406 :動け動けウゴウゴ2ちゃんねる :04/11/29 17:12:32 ID:aLu3keU+
 -  そういやそんな機能もあったっけね……。 
 
- 407 :動け動けウゴウゴ2ちゃんねる :04/11/29 17:23:36 ID:ggfp/YhU
 -   (10:00PM - 02:00AM の間一気に全部は読めません) 
 鯖の時計機能がぬるぽ 
 
- 408 :ひろゆき@どうやら管理人 ★ :04/11/29 17:24:55 ID:???
 -  おぉ。ついに? 
  
 
- 409 :▲ 某ソレ511 :04/11/29 17:26:23 ID:oxD2FF+l
 -  >>405 
 最近、その機能消えてたような気がするけどなぁ、、 
 
- 410 :動け動けウゴウゴ2ちゃんねる :04/11/29 17:29:32 ID:LX/x7hhq
 -  cgiの中の人が元に戻ったに100ペセタ 
 
- 411 :FOX ★ :04/11/29 17:33:48 ID:???
 -  転送量問題に苦しむと -> 細切れに送って乗り切る 
 サーバ負荷に苦しむと -> 一気に送って乗り切る 
  
 さて、今はどうすべきか・・・ 
  
 という岐路きろ 
 
- 412 :動け動けウゴウゴ2ちゃんねる :04/11/29 17:56:35 ID:LX/x7hhq
 -  一気に送って流れに乗り遅れるに 
 
- 413 :動け動けウゴウゴ2ちゃんねる :04/11/29 18:07:59 ID:nRC31bTa
 -  細切れに一気に送って乗り切る。 
 
- 414 :動け動けウゴウゴ2ちゃんねる :04/11/29 18:10:27 ID:VhIBWS7o
 -  一気に乗り送って細切る。 
 
- 415 :動け動けウゴウゴ2ちゃんねる :04/11/29 18:14:26 ID:Z+0ux1C/
 -  土石流。 
 
- 416 : ◆cZfSunOs.U  :04/11/29 18:25:46 ID:4/QiqQ6B
 -  時間のずれは......httpd 起動時に TZ=JST-9 にすることは可能でしょうか? 
 (httpd.conf での SetEnv は効きません) 
 cgidso 版の read.cgi から putenv() を実行すると httpd プロセスの環境を 
 いじることになり,これはちょっとおっかないので,その部分のコードは外したのですが. 
  
  
 あと,"Special thanks〜"のところはあまり目立つのも恥ずかしいので, 
  
     <span title="Special thanks〜">read.cgi ver8.01+ (04/11/29-)</span> 
  
 ぐらいにして頂ければ...... 
 
- 417 :未承諾広告※ ◆TWARamEjuA  :04/11/29 23:09:30 ID:l5g8l4lr
 -  恥ずかしいキャップ名を戴くとか(w 
 
- 418 :▲:/usr/local/bin/ch2 -o i686  ◆P8fXJj6wwo  :04/11/30 09:43:52 ID:bj243a2Z
 -  >>416-417 
 トリップからSolaris10とか(ぇ 
  
 
- 419 :動け動けウゴウゴ2ちゃんねる :04/11/30 10:57:03 ID:t9yH/Y2Y
 -   ◆cZfSunOs.U さんが書くとfusianasanになるとか( 
 
- 420 :動け動けウゴウゴ2ちゃんねる :04/11/30 16:21:57 ID:Gq7s/YGs
 -  >>419 
 それウラヤマスィ・・・ 
 
- 421 :動け動けウゴウゴ2ちゃんねる :04/11/30 17:40:10 ID:M2I3YJNd
 -  http://domo2.net/system/ver.html 
 read.cgiの8.01+が・・・w 
 
- 422 :動け動けウゴウゴ2ちゃんねる :04/12/02 17:53:17 ID:XkytQdMz
 -  >>421チョトワラタな。こりゃ。 
 
- 423 :動け動けウゴウゴ2ちゃんねる :04/12/04 23:26:16 ID:yNyuvRga
 -  801… 
 
- 424 :FOX ★ :04/12/04 23:46:09 ID:???
 -  質問です、 
  
 dso で動かしている read.cgi ですが、寿命はどれくらいなんでしょうか 
 あと グローバルな変数を定義したら、共有して使えますか? 
 
- 425 :動け動けウゴウゴ2ちゃんねる :04/12/05 01:26:14 ID:kMNF4iCl
 -  あまりでしゃばるのもアレなんで、分かる範囲で。 
  
 寿命は、apacheの各プロセスと一緒です。 
 つまり、現在のpreforkだと、MaxRequestsPerChildによって左右されます。 
  
 変数の共有は、MPMがpreforkだと各プロセスが独立するので、不可能です。 
 また、マルチスレッドなMPMにしても、「全体で唯一の変数」にはなりません。 
 (単に同一プロセス内でのみの共有です) 
  
 共有変数や永続的なデータを持たせるには 
 共有メモリ(やmmap等)で明示的に共有する領域を作成したり 
 aprのAPIを利用したりする必要があります。 
  
  
 全体にわたる設定やデータを保持したり共有したりするなら 
 場合によっては、専用サービス(daemon)を作って 
 apache自体はproxy動作するだけにさせた方が効率がいいかもしれません。 
 read.cgiと.dat読み込みに特化したhttpdを作るというイメージで。 
 (servletを動かすのにApacheとTomcatと連動させるのと同じような感じ) 
 
- 426 :root▲ ★ :04/12/05 06:51:14 ID:???
 -  >>424 
 >>425 のとおりです。(>>425さん、的確な説明ありがとうです) 
  
 dso な read.cgi は httpd に完全に組み込みになります。 
 今の FreeBSD 5.3R 系のサーバだと、MaxRequestsPerChild は 1000000 にしてあるので、 
 100万回httpリクエストを処理すると(bbs.cgiやdat直読みも含む)、httpdが生まれ変わります。 
  
 変数の共有はできないです。理由は >>425 の第3パラグラフのとおりです。 
 で、マルチスレッドMPMは昔試していまいちだったので、現在は通常のprefork MPMにしてあります。 
 
- 427 : ◆cZfSunOs.U  :04/12/05 07:55:51 ID:o4+M5XEu
 -  bbs.cgi で今やろうとしているのと同じように,設定や広告などのデータを 
 1回読んだ後 persistent に保持させたいということなのかな,と想像. 
 そうであるとすれば,server pool にでも突っ込んでおけばいいのではないかと. 
 
- 428 :FOX ★ :04/12/05 23:19:11 ID:???
 -  >>427 
 そうそう それですよん 
 やりたいのは、 
  
 現状のread.cgiは一切ファイルを見に行かない(datは別よん)ように 
 しているのですが、もし可能ならまた夢が広がるってことで、 
 完全に共有でなくても、bbs.cgiのようにたまに読めば良いなら 
 使えるな! と、 
 
- 429 :動け動けウゴウゴ2ちゃんねる :04/12/05 23:32:23 ID:v0mP+Gnz
 -  うはwwwwww夢がひろがりんぐwwwwwwwwwwwwwwwwwwww 
 
- 430 :root▲ ★ :04/12/06 12:53:21 ID:???
 -  >>428 
 ひ(りゃ が広告(例の右上の1行)を見に行くようにしたんじゃなかったかしら。 
 
- 431 :動け動けウゴウゴ2ちゃんねる :04/12/06 13:36:51 ID:eqq5M8TA
 -  ex7で 
 dat落ちのスレッドの表示が 
 削除と同じ状態になるんですが、、 
  
 例) 
 http://ex7.2ch.net/test/read.cgi/entrance/1102162144/ 
  
 > read.cgi ver8.01+ (04/11/29-) 「Special thanks ◆cZfSunOs.U さん 
 > 過去ログ倉庫にもありませんでした。 
 > 問い合わせても見つかる可能性はほとんどありません。  
  
 過去ログ倉庫にあるかどうかの参照は直るでしょうか。 
 
- 432 :root▲ ★ :04/12/06 13:45:44 ID:???
 -  >>431 
 そのうち、ってかんじかなと。 
  
 今のread.cgiは●ができる前のものをベースにしているので、 
 こうなるです。 
  
 OpenJaneで該当スレを読んでみましたが、ちゃんと読めたです。 
 
- 433 :ひろゆき@どうやら管理人 ★ :04/12/06 13:49:40 ID:???
 -  >>430 
 正解。。 
 
- 434 :FOX ★ :04/12/06 13:59:07 ID:???
 -  >>430 
 それを実現しつつ常駐化して 
 さらに毎回呼ぶのは避けようというきかくです 
 
- 435 :動け動けウゴウゴ2ちゃんねる :04/12/06 14:02:42 ID:s5lFRPnO
 -  >>427 
 Server poolでも良いんだけど、その辺の設定情報的な物は 
 どちらかというとApacheの設定情報管理用のフレームワークに 
 のっけて情報管理した方が良さげ。要は 
 <Files read.cgi> 
  SetHandler dso-script 
  SetCgisoValue key value 
 </Files> 
  
 みたくできるように、command_rec型でディレクティブ作る式で。 
  
 この場合はmod_cgiso側で設定情報を持って、 
 loadするDSOに渡すみたいな感じでがよいかなと。 
 
- 436 :動け動けウゴウゴ2ちゃんねる :04/12/06 15:22:31 ID:eqq5M8TA
 -  >>432 
 了解しましたー。 
 ぼちぼちで良いのでお待ちしてます。 
  
 乱立スレを見に行くか、、、 
 
- 437 :とすげ ◆eeDSEEDXRE  :04/12/06 16:31:28 ID:MD44dezB
 -  とりあえず、記念ウンコ。 
 
- 438 :動け動けウゴウゴ2ちゃんねる :04/12/06 22:08:14 ID:sWbcYoEx
 -  のぐそはいかんな 
 
- 439 :動け動けウゴウゴ2ちゃんねる :04/12/06 23:00:24 ID:Dlimln8Q
 -  dsoとかなんとかで調子良くなるんなら 
 live15に入れて人大杉解除してくれよん 
 
- 440 : ◆cZfSunOs.U  :04/12/07 07:25:30 ID:4/kWaSl/
 -  >>435 設定情報は確かにそういうやり方の方がスマートかも知れませんね. 
 ただ,それなら今ある仕組みのままでも,SetEnv 使えば DSO プログラム側から 
 apr_table_get(r->subprocess_env, "key") で取り出せます. 
  
 一方,広告テキストなどはさすがに httpd.conf に書き連ねるのは...... 
 ってことで,こちらはファイルから読み込んで server pool に突っ込んでおく 
 のが良さそうですね.だいたいこんな感じでしょうか. 
 ----[read.h に追加]--------------------------------------------------- 
 #include <pthread.h> 
 #include "apr_pools.h" 
 #include "apr_thread_rwlock.h" 
 ----[read2ch.h に追加]------------------------------------------------ 
 #define AD_FILENAME "ad.txt" 
 #define AD_CHECK_INTERVAL 60 
 ----[read.c はこんな感じに]------------------------------------------- 
     : 
 typedef struct { 
     apr_thread_rwlock_t *rwlock; 
     volatile apr_time_t lastchecked, mtime; 
     apr_pool_t *pool; 
     apr_mmap_t *m; 
 } ad_pool_t; 
     : 
 static ad_pool_t *get_ad_pool(request_rec *r, const char *ad_key) 
 { 
     /* APR mutex には静的初期化マクロが用意されていないので,ここは pthread mutex を使用 */ 
     static pthread_mutex_t ad_mutex = PTHREAD_MUTEX_INITIALIZER; 
     ad_pool_t *ad_pool, **ad_poolp = &ad_pool; 
     apr_pool_t *p = r->server->process->pool; 
  
     apr_pool_userdata_get((void **)ad_poolp, ad_key, p); 
     if (!ad_pool) { 
         pthread_mutex_lock(&ad_mutex); 
         apr_pool_userdata_get((void **)ad_poolp, ad_key, p); 
         if (!ad_pool) { 
             ad_pool = apr_palloc(p, sizeof *ad_pool); 
             ad_pool->lastchecked = ad_pool->mtime = 0; 
             if (apr_thread_rwlock_create(&ad_pool->rwlock, p) 
                 || apr_pool_create(&ad_pool->pool, p)) 
                 ad_pool = NULL; 
             else 
                 apr_pool_userdata_set(ad_pool, ad_key, apr_pool_cleanup_null, p); 
         } 
         pthread_mutex_unlock(&ad_mutex); 
     } 
  
     return ad_pool; 
 } 
 
- 441 : ◆cZfSunOs.U  :04/12/07 07:27:44 ID:4/kWaSl/
 -  static void update_ad_pool(global_vars_t *gv, request_rec *r, ad_pool_t *ad_pool) 
 { 
     char *adfile; 
     apr_file_t *f; 
     apr_finfo_t finfo; 
  
     if (gv->t_now - ad_pool->lastchecked < AD_CHECK_INTERVAL * APR_USEC_PER_SEC) 
         return; 
  
     apr_thread_rwlock_wrlock(ad_pool->rwlock); 
  
     ad_pool->lastchecked = gv->t_now; 
     adfile = apr_pstrcat(r->pool, gv->cwd, "../", gv->zz_bs, "/", AD_FILENAME, NULL); 
  
     if (apr_stat(&finfo, adfile, APR_FINFO_MIN, r->pool)) { 
         ad_pool->mtime = 0; 
         apr_pool_clear(ad_pool->pool); 
     } 
     else if (finfo.mtime > ad_pool->mtime 
              && gv->t_now - finfo.mtime >= APR_USEC_PER_SEC) { 
         apr_pool_clear(ad_pool->pool); 
         ad_pool->mtime = apr_file_open(&f, adfile, APR_READ, APR_OS_DEFAULT, r->pool) 
                          || apr_file_info_get(&finfo, APR_FINFO_MIN, f) 
                          || apr_mmap_create(&ad_pool->m, f, 0, finfo.size, APR_MMAP_READ, ad_pool->pool) 
                          ? 0 : finfo.mtime; 
     } 
  
     apr_thread_rwlock_unlock(ad_pool->rwlock); 
 } 
     : 
 int dso_main(request_rec *r, int argc, char **argv) 
 { 
         : 
     char *ad_key; 
     ad_pool_t *ad_pool; 
         : 
     ad_key = apr_pstrcat(r->pool, "read.ad.", gv->zz_bs, NULL); 
     ad_pool = get_ad_pool(r, ad_key); 
     if (ad_pool) { 
         update_ad_pool(gv, r, ad_pool); 
         apr_thread_rwlock_rdlock(ad_pool->rwlock); 
         if (ad_pool->mtime) 
             ap_rwrite(ad_pool->m->mm, ad_pool->m->size, r); 
         apr_thread_rwlock_unlock(ad_pool->rwlock); 
     } 
         : 
 } 
 ---------------------------------------------------------------------- 
 
235KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30