■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
read.cgi改良スレッド
- 483 :デフォルトの名無しさん :01/08/30 22:29 ID:hlW8zoEo
-  >>482 
 さんくす
 
 
- 484 :デフォルトの名無しさん :01/08/30 22:35 ID:hlW8zoEo
-  >>482 
 1537行目のとこ、
 fflush(stdout); close(1); っているのかしら?
 waitpid()は if (gzip_flag) で括るべき。
 
 if (gzip_flag) waitpid(pid, NULL, 0);
 
 
- 485 :デフォルトの名無しさん :01/08/30 22:38 ID:7PExlRw6
-  後始末無視さんせー。 
 
 readSettingFile()の最初を
 ・・・
 char *endp;
 struct stat st;
 #ifdefUSE_MMAP
 void *mmptr;
 fstat(fd, &st);
 mmptr = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
 #else
 char mmptr[8192];
 st.st_size = read(fd, mmptr, sizeof(mmptr));
 #endif
 にして、
 最後の #ifdef-#endif は、ばっさりカットしましょ。
 
 それと、
 zz_GetEnv()の
 localtime_r(&t_now, &tm_now);
 を勝手にlocaltime()にしちゃってました。ごめんなさい(家で動かないんで)。
 
 
- 486 :さくーしゃ@マカー用。 :01/08/30 22:39 ID:i89NKQig
-  現在,RAWOUT って有効になってますか? 
 
 >>450 のURLでためしてみたんですけど,text/html でかえってきてるみたいなんです。。。?
 
 
- 487 :デフォルトの名無しさん :01/08/30 22:44 ID:Np0La3X.
-  >480-483 
 かちゅーしゃの透明あぼーんとゴッチャになってました。ご教授感謝です。
 エントリごと消え去るんですね、ってことはスレ番号もズレるのか・・・・
 read.cgi単独での検出は難しそう(汗
 
 >481
 問題を理解できました。
 透明あぼーんが挟まると発言を取り漏らすってことですね。
 
 
- 488 :♯6411 :01/08/30 22:48 ID:RSyGf5Ac
-  >>458 のサンプル、見てくれをいじった。 
 さくっとやったので、ところどころおかしい
 (それどころか根本的におかしい)けど、
 いい感じではないかな?
 
 >>486
 rawoutって、運用で動いてなかったんじゃなかったっけ。
 http://www.psychedance.com/test/read.cgi/tech/
 こっちは最新版なので、よかったら検証してもらえます?
 
 
- 489 :|  - -) :01/08/30 22:55 ID:PugAduiM
-  >>484 
 gzipが終了するためには入力ストリームを閉じないといけません。
 gzip_flagで囲むようにはしました。
 
 >>485
 done.
 
 >>450
 ?raw だとだめです。
 ?raw=0.0 ならうまくいきます。
 (仕様です)
 
 
- 490 :|  - -) :01/08/30 22:57 ID:PugAduiM
-  事故レス >>489 
 入力ストリーム → gzipの入力ストリーム
 つまりread.cgi側の出力ストリームです
 
 
- 491 :♯6411 :01/08/30 22:57 ID:RSyGf5Ac
-  >>466 
 >>470
 どうやらエンバグで、
 現行形式でも仕様通りに動かないもよう。
 
 
- 492 :デフォルトの名無しさん :01/08/30 23:03 ID:hlW8zoEo
-  >>490 了解。確かにcloseせないけませんね。 
 
 
- 493 :test :01/08/30 23:19 ID:HEIfwNwk
-  test 
 
 
- 494 :♯6411 :01/08/30 23:35 ID:RSyGf5Ac
-  >>491 修正してみました > |  - -) 
 
 
- 495 :|  - -) :01/08/30 23:42 ID:PugAduiM
-  >>494 
 ls=1のときはnofirst=true強制ですね。
 それでいいと思います。
 
 
- 496 :デフォルトの名無しさん :01/08/30 23:47 ID:N/.0WZiw
-  to>st な場合の表示はどうするんですか? 
 
 こういう場合。
 http://www.psychedance.com/test/read.cgi/tech/998921988/20-10
 
 
- 497 :♯6411 :01/08/30 23:48 ID:RSyGf5Ac
-  >>496 元の仕様でもよろしくなかったような 
 気がするんですが…救済した方がいいかしら?
 
 
- 498 :デフォルトの名無しさん :01/08/31 00:07 ID:pEodOMrQ
-  >497 
 言っておきながらなんですが、
 今の仕様が一番サーバに優しそうなのでそのままで良いかも。
 
 色々試すと面白い…
 http://www.psychedance.com/test/read.cgi/tech/998921988/0-0
 http://www.psychedance.com/test/read.cgi/tech/998921988/0-1
 http://www.psychedance.com/test/read.cgi/tech/998921988/-5-1
 
 
- 499 :デフォルトの名無しさん :01/08/31 00:08 ID:pEodOMrQ
-  日付変わったせいで ID も変わってるけど 496=498。 
 
 
- 500 :♯6411 :01/08/31 00:10 ID:WLvR5P8o
-  >>498 いろいろ試されると、 
 解析アルゴリズムがバレちゃうね。
 
 とはいってもソース公開されてるし(w
 
 
- 501 :デフォルトの名無しさん :01/08/31 00:15 ID:PS9zdCQg
-  今の状況じゃ、転送量にやさしければ、なんでもいいでしょ。 
 
 
- 502 :♯6411 :01/08/31 00:46 ID:WLvR5P8o
-  新仕様 
 >>数字 のレスリンクの、リンクさせ方を変更。
 chunk単位で取りにいくようになります。
 キャッシュ効率の向上が期待…できるといいな。
 
 
- 503 :名無しさん :01/08/31 01:44 ID:1YfH/xHU
-  >>489 
 >  >>450
 >  ?raw だとだめです。
 >  ?raw=0.0 ならうまくいきます。
 
 試してみたんですがうまくいきませんです…
 
 
- 504 :デフォルトの名無しさん :01/08/31 01:47 ID:MkV83E8o
-  URLの自動リンクを無効にするというのは既出ですか? 
 
 
- 505 :デフォルトの名無しさん :01/08/31 01:54 ID:HfubHdvY
-  read.cgiが吐き出すデータの先頭2kbがスペースというのは既出ですか? 
 
 
- 506 :デフォルトの名無しさん :01/08/31 01:56 ID:6a8y9j3k
-  >>505 
 gzip転送の定説です。
 つーかIE4が悪いのか IE5以上でも起きるの?
 
 
- 507 :|  - -) :01/08/31 01:58 ID:W1MB8EFM
-  >>503 
 えーっと、現在のバージョン(5.10)には入っていません。
 http://www.psychedance.com/test/read.cgi/tech/998921988/?raw=0.0
 で試してみてください。
 
 
- 508 :♯6411 :01/08/31 01:59 ID:DT2vnGqI
-  >>504 がいしゅつなんだけど、結論は 
 どうなったか忘れた。条件に応じて
 削る(というよりはリンクしない)ことは、
 やろうとおもえばすぐできるけど。
 
 >>505 稼働中のバージョンではやむを得ず
 そうなってる。実際のところ、転送量は
 10数バイトしか増えてない。
 最新バージョンではすでにスペースを吐かなく
 なっている。
 
 
- 509 :名無し娘。 ◆vP.bOZFQ  :01/08/31 02:00 ID:s8ksSf.2
-  >>489 
 ぺこぺこ
 >>506
 うちのIE5だとだいじょうぶ
 >>507
 うまくいったです
 
 
- 510 :♯6411 :01/08/31 02:03 ID:DT2vnGqI
-  >>506 IE5.5でも起きる。 
 バグなのか正しい仕様なのかつかみ切れていないけど、
 Transfer-Encoding: chunked
 Content-Encoding: gzip
 Content-Length: ナシ
 のときに、展開したストリームの頭2048バイトを
 きっかり無視する…
 
 
- 511 :♯6411 :01/08/31 02:04 ID:DT2vnGqI
-  >>509 う、漏れの手元で見たヘッダ欠けは 
 幻だったのか…鬱だ
 
 
- 512 :デフォルトの名無しさん :01/08/31 02:15 ID:PS9zdCQg
-  index2.cgiがあったら、掲示板に戻るをindex2.cgiを呼ぶようにする。 
 
 html_head()で、
 
 char fname[1024];
 
 sprintf(fname, "../%.256s/index2.cgi", zz_bs);
 if ( access(fname,S_IXUSR) == -1 )
 pPrintf(pStdout,
 R2CH_HTML_HEADER_1("%s", "/%s/index2.htm%s"),
 title, zz_bs, gzip_flag ? "" : "l");
 else
 pPrintf(pStdout,
 R2CH_HTML_HEADER_1("%s", "/%s/index2.cgi"),
 title, zz_bs);
 
 あと、1758行目 dat_out(); だけど dat_out(0); じゃない?
 
 
- 513 :506 :01/08/31 02:16 ID:6a8y9j3k
-  >>510 
 mod_gzipはどうやってるのかのう。
 ちょっと調べてみよう。
 
 
- 514 :♯6411 :01/08/31 02:20 ID:DT2vnGqI
-  >>513 T-E: chunkedを吐かない、のが大きな違いのようだ 
 
 
- 515 :VC++まだ箱のなか厨房(w :01/08/31 02:26 ID:OWdgxIS.
-  ちょこっと書いておきますと 
 
 2ちゃん専用ツール側での削除は「あぼ〜ん」で
 2ちゃんねる上での削除は「あぼーん」です。
 
 この2つを使い分けるといいかもしれません、、です
 
 
- 516 :名無し娘。 ◆vP.bOZFQ  :01/08/31 02:29 ID:s8ksSf.2
-  >>509-511 M$ですから、夢も幻もいっぱいあるでしょう(^^; 
 >>514 ソース読んだ限りでは、特別なことはそれしかやっていないようで。
 >>515 知らなかった。。。
 
 
- 517 :506 :01/08/31 02:31 ID:6a8y9j3k
-  >>514 
 mod_gzip.cみました。
 そのようです。
 失礼しますた。
 
 
- 518 :デフォルトの名無しさん :01/08/31 02:40 ID:PS9zdCQg
-  >>511 
 幻じゃないかも。
 動的生成gifをgzipで送ってたら、表示できないWIN2000上のIE5とIE5.5が
 あった。
 最初は表示されていたが、なにかの拍子で駄目になり、IE5→IE5.5で直らず
 OSインストールしなおして直ったが、また駄目になったとか聞いた。
 
 
- 519 :デフォルトの名無しさん :01/08/31 02:52 ID:BJK6ay72
-  ftp://210.170.170.118/incoming/bmem/bmem.c 
 っていうのでちょっと実験してみたんだけど(IA Solaris8)
 
 bmem@test:~/tmp[479]% time bmem mmap
 0.35u 1.78s 0:02.10 101.4%
 bmem@test:~/tmp[480]% time bmem mmap.pri
 0.37u 1.81s 0:02.15 101.3%
 bmem@test:~/tmp[481]% time bmem mmap.pri.wri
 0.52u 5.73s 0:06.21 100.6%
 bmem@test:~/tmp[482]% time bmem read
 0.23u 3.80s 0:03.99 101.0%
 bmem@test:~/tmp[483]% time bmem fread
 3.20u 4.09s 0:07.26 100.4%
 
 確か.datをmmap()で読む時はMAP_PRIVATEにして BigBufferに書き込み
 してたよね? これだと上記の"mmap.pri.wri"のケースに該当するんだけど
 ......どうしましょ? プラットフォームによっては違う結果になる?
 
 
- 520 :|  - -) :01/08/31 03:00 ID:W1MB8EFM
-  bash-2.03$ uname -sr 
 Linux 2.4.9
 bash-2.03$ for i in mmap mmap.pri mmap.pri.wri read fread ; do echo -n $i; time
 ./a.out $i; echo; done
 mmap
 real    0m1.272s
 user    0m0.230s
 sys     0m1.020s
 
 mmap.pri
 real    0m1.237s
 user    0m0.220s
 sys     0m1.020s
 
 mmap.pri.wri
 real    0m2.454s
 user    0m0.250s
 sys     0m1.960s
 
 read
 real    0m6.346s
 user    0m0.340s
 sys     0m6.000s
 
 fread
 real    0m10.448s
 user    0m1.950s
 sys     0m8.490s
 
 
- 521 :|  - -) :01/08/31 03:03 ID:W1MB8EFM
-  ...というわけでたぶんプラットフォーム依存かと。 
 
 
- 522 :♯6411 :01/08/31 03:05 ID:DT2vnGqI
-  >>519 検証せずにしゃべってるので突っ込み大歓迎♪ 
 
 MAP_PRIVATEのときは、commitも
 含むんだとおもう。なので mmap.pri の結果は順当かと。
 で、そこに書き殴ったときは、カーネル内部で
 ・ページフォルト
 ・ページのコピー
 がページ境界をまたぐたびに発生するんで、
 オーバーヘッドはまぬがれない。
 以上はイパーン論。
 
 今回のケースでは、以下の前提があると思われ。
 ・ターゲットファイルはページキャッシュにある
 ことが多いと期待される。
 ・実際書き殴ってるのは、ケツの1ページだけ。
 なので、read()でバッファに読み込むより
 いくぶんか効率的なのでは…と思ったら、
 dat_read()以外の部分でBigBuffer書き殴って
 たりしないっけ? あれ? あれれ? あれれのれ?
 
 書かないという前提があれば、readonly, sharedで
 いいんだよねー。
 
 レポートさんくすです。
 ちなみにターゲットはLinux.
 
 
- 523 :デフォルトの名無しさん :01/08/31 03:07 ID:PS9zdCQg
-  無意味だけど一応 FreeBSD4.2 
 
 time ./bmem mmap
 0.148u 2.207s 0:02.35 99.5%     10+191k 0+0io 0pf+0w
 time ./bmem mmap.pri
 0.257u 1.979s 0:02.23 99.5%     10+191k 0+0io 0pf+0w
 time ./bmem mmap.pri.wri
 0.351u 3.841s 0:04.29 97.6%     10+192k 0+0io 0pf+0w
 time ./bmem read
 0.357u 2.525s 0:02.90 98.9%     12+210k 0+0io 0pf+0w
 time ./bmem fread
 1.531u 4.327s 0:05.91 98.9%     10+215k 0+0io 0pf+0w
 
 
- 524 :♯6411 :01/08/31 03:07 ID:DT2vnGqI
-  >>520 早速レポートいただけるとはさすが。 
 参考になるす。tnx.
 
 
- 525 :デフォルトの名無しさん :01/08/31 03:11 ID:PS9zdCQg
-  そういえば、ターゲットのカーネルのバージョンはいくつかな。 
 サーバー導入時期で違ってたりして。
 
 
- 526 :デフォルトの名無しさん :01/08/31 03:17 ID:0V6W10r6
-  >>525 
 ttp://www.maido3.com/server/usagi/news.html
 には Linux2.2.19 Slackware って書かれてますね
 
 
- 527 :506 :01/08/31 03:21 ID:6a8y9j3k
-  >>518 う gifを生成しとるので夢の話という事ですよね。 
 
 content encoding gzip RFCひっくり返して見たが
 やはりMSのヒトリヨガリの仕様のようだちなみにMSDNにも
 ロクな事は乗ってなかった
 
 糞MSのトップページみたらMSIE6が出てて鬱になった。
 
 
- 528 :518 :01/08/31 03:28 ID:PS9zdCQg
-  いえ、無圧縮GIFをgzip通して送出してたら、表示できないIE5があったんです。 
 
 
- 529 :デフォルトの名無しさん :01/08/31 03:31 ID:pEodOMrQ
-  ところで、2048 バイト欠ける理由は分かったの? 
 
 
- 530 :506 :01/08/31 03:36 ID:6a8y9j3k
-   
 >>529
 2048欠けるのはMSIEの単純なバグ。
 
 
- 531 :デフォルトの名無しさん :01/08/31 03:39 ID:pEodOMrQ
-  もしそうなら IE6 でも直ってないのだけれど。やる気ないな。 
 どこかにこの件に関するバグレポートないのか。
 
 
- 532 :デフォルトの名無しさん :01/08/31 03:42 ID:PS9zdCQg
-  >>518 のような例があるので、単純なバグじゃないのかも。 
 
 
- 533 :506 :01/08/31 03:54 ID:6a8y9j3k
-  他にも Windows2000 とかでも 
 accept encoding "gzip" が 「無い」 MSIEがあるようです。
 OSごと入れなおすと直ったらしい 藁
 
 >>531 MSあさりました RFC詠んだ mod_gzip.c読んだ 吐き気がする程に。結論は無かった
 けどgzipで2048の空白なんざ数バイトになるので、あまり問題に
 しないほうがいい。
 なので 消防の自分は寝るよ。
 
 
- 534 :デフォルトの名無しさん :01/08/31 03:58 ID:PS9zdCQg
-  >>533 
 OS入れなおさないと直らないってところが(藁
 IE再インストやverUPでなぜか直んないんだよね〜。
 
 
- 535 :デフォルトの名無しさん :01/08/31 03:59 ID:pEodOMrQ
-  >533 
 お疲れ様です…
 自分も google しまくったけど手かがりなし。
 原因が解明できないのは精神衛生的に良くないが、時間の無駄みたいだ。
 
 
- 536 :デフォルトの名無しさん :01/08/31 04:03 ID:PS9zdCQg
-  一応 
 http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999151333&st=822&to=825&nofirst=true
 
 
- 537 :音楽侍 ◆NtVkSITE  :01/08/31 04:12 ID:Ha76ETsk
-  いま、どこかにmake一発で動くread.cgiって保存されていますでしょうか? 
 公開版は一ヶ所別に置くとか、gzipになってるとか。。。
 
 
- 538 :名無し娘。 ◆vP.bOZFQ  :01/08/31 04:16 ID:s8ksSf.2
-  >>537 
 http://www.gedoh.org/aki/2ch/current/bbs/
 これじゃだめ?
 
 
- 539 :音楽侍 ◆NtVkSITE  :01/08/31 04:24 ID:Ha76ETsk
-  >>538 
 やってみます〜
 
 
- 540 :デフォルトの名無しさん :01/08/31 04:29 ID:PS9zdCQg
-  Makefileに追加して、一括ファイル作りましょうよ。 
 http://www.gedoh.org/aki/2ch/current/bbs/
 でcvs更新後に実行してくれるとうれしいな。
 
 最低限必要なのは、下記
 
 dist:
 tar cf - *.[ch] Makefile zlib/*.[ch] zlib/configure zlib/Makefile.in | gzip -9 > read.tgz
 
 
- 541 :音楽侍 ◆NtVkSITE  :01/08/31 04:40 ID:Ha76ETsk
-  >>538 
 出来ました〜ありがとです。
 
 >>540
 ビルドごとにアーカイブして隔離していただいた方が安全です〜
 
 
- 542 :デフォルトの名無しさん :01/08/31 04:44 ID:Rl8iN43I
-  >>541 
 そのへんは cvs の tag に活躍させてもいいのでは?
 
 
- 543 :音楽侍 ◆NtVkSITE  :01/08/31 04:59 ID:Ha76ETsk
-  >>542 
 私はコーディングには参加しない(動作確認とチェックだけ)ですので、CVSだと状況を追い切れません。
 スレを追っての現状認識では、どれがカレントで、どれが評価版で、どれが最新か、という判断するのに時間がかかりすぎますです・・・
 
 
- 544 :デフォルトの名無しさん :01/08/31 05:09 ID:Rl8iN43I
-  >>543 
 だからこそ cvs の tag や branch を利用してみてはってことなのですが…。
 
 
- 545 :♯6411 :01/08/31 05:11 ID:DT2vnGqI
-  >>543 
 ブランチ切ってないので、
 最新版 == current と捉えてくだちい。
 機能評価などは、ヘッダなどでcondition outしてから
 cvsのcommit logに書く、というのが一般的。
 
 なので、何が行われたかは、cvs logで見るべし。
 (どこかにcvswebのURL書いてあるでしょ?)
 
 
- 546 :デフォルトの名無しさん :01/08/31 05:11 ID:6a8y9j3k
-  #6411はもう寝たのかな。 
 
 
- 547 :デフォルトの名無しさん :01/08/31 05:45 ID:PS9zdCQg
-  掲示板に戻るはindex2.cgiがあったら呼ぶようにしました。 
 MakefileにSRCSとdistターゲットを加えました。
 
 
- 548 :aki :01/08/31 07:14 ID:N9m3H/y.
-  >>547 
 gedoh.org のミラーで cvs up したタイミングで
 make dist するように仕掛けてみました。
 
 でもって、tag とか branch は自由にきっちゃってください。
 夜勤さんや$さんが取り込んだ版にtag切っておくといいかも。
 
 
- 549 :aki :01/08/31 07:17 ID:N9m3H/y.
-  でもって、レポジトリ内容はここでみれます。 
 http://2ch.uryusoft.net
 
 
- 550 :aborn ◆OonrVZq6  :01/08/31 07:32 ID:6m29/Im2
-  遅いかもしれないが… 
 >>533-535
 インターネットオプションの詳細設定で「(プロキシ接続で)HTTP 1.1を使用する」にチェックを入れないと、
 Accept-Encoding に gzip は出てきません。それのことでは。
 
 
- 551 :デフォルトの名無しさん :01/08/31 07:38 ID:PS9zdCQg
-  distのやり方間違ってて、毎回read.tgz作ってました。 
 直しました。
 
 
- 552 :デフォルトの名無しさん :01/08/31 07:57 ID:PS9zdCQg
-  あれ?まだ、毎回作ってる。 
 どおして〜?
 
 
- 553 :デフォルトの名無しさん :01/08/31 16:47 ID:vhMKUI7c
-  ハックですか? 
 
 >トップ見ろよ
 >http://www.2ch.net/
 
 
- 554 :デフォルトの名無しさん :01/08/31 17:02 ID:TsVa1PVU
-  ネタでしょう。 
 本気で売るなら、ネットオークションなんかには出品しませんよ。
 荒らされるの必至。つか、もう荒らされてるし(w
 
 
- 555 :名無し娘。 ◆vP.bOZFQ  :01/08/31 18:10 ID:0C9lj0zQ
-  こんなはなしも。 
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=981726544&st=856
 
 
- 556 :デフォルトの名無しさん :01/08/31 19:20 ID:BJK6ay72
-  結局オークションはひろゆきのジサクジエンデシタ 
 でもこういうことされたから bzip2実装してやろうと思ってきた(w
 
 
- 557 :デフォルトの名無しさん :01/08/31 21:31 ID:gWobhVmY
-  なんかcvs重いな 
 
 
- 558 :♯6411 :01/08/31 21:36 ID:WLvR5P8o
-  アタック受けて氏んだかと思った(w 
 
 
- 559 :デフォルトの名無しさん :01/08/31 22:21 ID:xu.zymnM
-  どこまでがネタなのかわからんな…。 
 
 そんな状況で発言するのもなんか馬鹿馬鹿しいのだが…
 ページ最下部に、リロード用のリンクつくるってのはどうだろう。
 st=(最新の番号-10)とかそんな感じので。
 ls=100とかのままリロードしてる人間が結構いると思うので、
 これって転送量結構減らせるような気がするんだけど。
 
 って、これ、スレ違いかな?
 ガイシュツだったらスマソ。
 
 
- 560 :|  - -) :01/08/31 22:26 ID:W1MB8EFM
-  >>559 
 -DRELOADLINKですな。実装済みです。
 
 
- 561 :デフォルトの名無しさん :01/08/31 22:56 ID:KHrRCh/w
-  http://www.psychedance.com/test/read.cgi?bbs=tech&key=998997848 
 Internal Server Error
 http://www.psychedance.com/test/read.cgi?bbs=tech&key=998997848&ls=10
 だと大丈夫。
 
 index関係のスレでがいしゅつかな?
 http://www.psychedance.com/test/read.cgi/tech/,
 で、[全レス][最新50]のリンクが全部一緒(しかもbbs=hp)
 
 
- 562 :デフォルトの名無しさん :01/08/31 22:58 ID:xu.zymnM
-  ごめん。 
 
 
- 563 :|  - -) :01/08/31 23:05 ID:W1MB8EFM
-  >>561 
 http://www.psychedance.com/test/read.cgi?bbs=tech&key=998997848&raw=0.0
 もうまくいきません(500エラー)
 
 
- 564 :♯6411 :01/08/31 23:09 ID:WLvR5P8o
-  >>561 ときどきPremature end of scriptが 
 出るっぽいんだけど、漏れが連打した限りでは
 なかなか出ない。
 
 スレダイジェストのアンカーが不完全なのは、
 まだ実装してないからです…
 
 
- 565 :デフォルトの名無しさん :01/08/31 23:23 ID:PuIIKuzw
-  とりあえず、 
 BigBufferをread-onlyにする変更をしてみた。
 (>>560の分に対して)
 URLリンク等もressplitter_splitに入れ、
 BigLineが\nで終了(要はつながったまま)する形式になる。
 全体をスキャンする回数はかなり減るはず。
 
 またエンバグが怖いので、どなたかテスト&mergeをお願い。
 ftp://210.170.170.118/incoming/2ch-read-current/read14.2.9.c
 
 
- 566 :デフォルトの名無しさん :01/08/31 23:26 ID:PuIIKuzw
-  あ、全て-DCUTRESLINK時のみ有効です。 
 mmap()をREADONLYにはしていません。
 
 
- 567 :565 :01/08/31 23:26 ID:PuIIKuzw
-  名前とメールを間違えた・・ 
 
 
- 568 :デフォルトの名無しさん :01/08/31 23:28 ID:MkV83E8o
-  そういえばいつの間にかかちゅ〜しゃ規制が外れてるらしいですが、 
 gzip対応なわけでもないのに規制を外して大丈夫なんでしょうか?
 
 
- 569 :♯6411 :01/08/31 23:29 ID:WLvR5P8o
-  >>563 これだと確実に出ますねえ。 
 ちょっと追っかけてみるっす。
 
 
- 570 :デフォルトの名無しさん :01/08/31 23:34 ID:naodixwc
-  >>568 
 恥ずかしながら、オークションの実況をROMってしまった身から言うと、
 ハマりまくってるときのリロードは1−5スレずつダウンロードすることになるね。
 かちゅーしゃだとあまり関係ないと思うな。
 圧縮するにこしたことはないけど。
 
 
- 571 :♯6411 :01/08/31 23:34 ID:WLvR5P8o
-  >>569 Content-Encoding: gzipのとき氏ぬ。 
 落ちちゃってるわけではなく、バッファを
 フラッシュしきれてない??
 
 gzipがない状態では、正常に処理されてる模様。
 
 
- 572 :♯6411 :01/08/31 23:39 ID:WLvR5P8o
-  >>571 ** デバッグ協力お願い ** 
 サイケダンスドットコムの、
 /tech/dat/998997848.datを
 持ってってみてください。
 たぶん、動かない予感。
 
 bash$ (export HTTP_ACCEPT_ENCODING=gzip;
 export PATH_INFO='/tech/998997848/';
 export QUERY_STRING='raw=0.0';
 export HTTP_USER_AGENT=console;
 ./read.cgi )>file
 
 さいしょは、Linux(開発に使ってる)と
 FreeBSD-2.2.x(公開に使ってる)の差かとオモタよ…
 
 
- 573 :デフォルトの名無しさん :01/08/31 23:42 ID:WK591e.c
-  TODOより 
 >現在の実装では、/board/subject.txt のmtimeを返しているが、subject.txt
 >はsage進行の時は更新されないと思われるので、上位n個スレでsage進行が行
 >われているとき、正しいものが取れなくなる可能性はある。
 
 新スクリプト(要するに今使っているbbs.cgi)では、
 sageレスも必ずレス数にカウントされるので、
 並べ替えは起きないものの、subject.txtの更新は行われていると思われます。
 
 
- 574 :♯6411 :01/08/31 23:44 ID:WLvR5P8o
-  >>573 tnx, 信じてみるよ。 
 ちょっと前(?)、subback.htmlとかのレス数が
 sageで増えてなかったような気がして、
 subject.txtも同じなのかな? と邪推
 してたのであります…
 
 
- 575 :|  - -) :01/08/31 23:49 ID:W1MB8EFM
-  dat_readのところの、mmapした後の盲目的strlenで問題が発生している。 
 本来、このコードはdatが破損してデータの一部が\0で埋められたときにそれを
 できるだけ修復するためにあるコードかと思われ。
 memchr(BigBuffer, '\0', zz_fileSize);を使えば問題は起きなくなるでしょう。
 (その後のwhile()ループも同様に修正)
 
 
- 576 :デフォルトの名無しさん :01/09/01 00:06 ID:CHjn5Q7E
-  >>575 
 strlenは、read版だと末尾に'\0'を入れてあり、正常に動いてました。
 で、>>565のコードだと、strlen使わなくなってます。
 
 
- 577 :565,576 :01/09/01 00:08 ID:CHjn5Q7E
-  getLineMax()の内部も変更済み。 
 
 でも、要-DCUTRESLINK。
 ※-DCUTRESLINKでもLINKTAGCUTが0なら、リンクのカットはしません
 
 
- 578 :デフォルトの名無しさん :01/09/01 00:25 ID:Z2Y7gl3o
-  ってゆーか、read()版でも、いつの間にか消えてた。 
 
 dat_read()
 ・・・
 /* XXX ところどころに 0 が現れるの? */
 {
 char *end = BigBuffer + zz_fileSize;
 char *p = BigBuffer;
 while ((p = memchr(p, '\0', end - p)) != NULL) {
 *p = '*';
 }
 }
 
 ブロックが汚いけど、こうすれば、OKかな
 
 
- 579 :名無し娘。 ◆vP.bOZFQ  :01/09/01 00:32 ID:EhmPvxQ6
-  -DCUTRESLINK だとむしろ転送量が増えるかもしれない問題について、 
 妥協的な提案ですが、その窓内で表示されている部分だけは CUTRESKINK して、
 表示されていない部分については RESLINK をはるというのはどうでしょう。
 &st=50&to=100 なら、 >>58 ははらないけど >>14 ははる、というふうに。
 
 それとも、PATH_INFO 使い出すと同時に -DCUTRESLINK はやめる方向でしょうか。
 
 
- 580 :デフォルトの名無しさん :01/09/01 00:43 ID:3xMt6oxQ
-  dat_read()内で、 
 if (zz_fileSize > MAX_FILESIZE)
 html_error(ERROR_TOO_HUGE);
 の次に、
 if (zz_fileSize < 10)
 html_error(ERROR_NOT_FOUND);
 ぐらい、入れておいたほうがいいかもしれない。
 (エラー種別は別にした方がいいかも)
 
 実際、過去にサイズ0のファイルがあったことがある。
 各フィールドの区切りや投稿日があるので
 正常なdatが10バイトを下回ることは無いはず。
 
 
- 581 :♯6411 :01/09/01 00:43 ID:xtb9tuCk
-  ちょっと雑用が入ってしまい、 
 マージ作業とかできぬ、ゴメソ
 
 今から帰らなきゃ…
 
 
- 582 :デフォルトの名無しさん :01/09/01 02:06 ID:lOi0M7Jo
-  >-DCUTRESLINK だとむしろ転送量が増えるかもしれない問題について、 
 読みなおしされる回数と、全体の約2割の削減(非圧縮UAのみ)で、
 どちらが効果があるのか、調べないと実際にはわかりません。
 
 で、1から「関連スレは>>2-5のどこか」とリンクされる場合は
 明らかに逆効果なので、
 レス1の場合はリンクするよう、とりあえず変更しました。
 (>>578と>>580も加えた)
 ftp://210.170.170.118/incoming/2ch-read-current/read14.2.9.c.1
 
 書いてあるレスとリンク先のレス番号の差をみたり、
 さらに、st=やls=を見て判断するのは、
 単純にカットするのと比べて、閉じタグの時も判断しなければならず、
 変更が大きく、
 やってはみますが、それなりに重い処理になりそうです。
 
 あと、しつこいようですけど、-DCUTRESLINKだけでカットされるわけではなく、
 read2ch.h内で  #define LINKTAGCUT 0
 にすれば、カット機能は働きません。
 
 >>581
 お疲れ様です。頼りきっていてすみません。
 
 
333KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30