FreeBSDを語れ Part38
■ このスレッドは過去ログ倉庫に格納されています
0198名無しさん@お腹いっぱい。
2014/08/06(水) 16:39:03.33サイズに関する進展。
まず、壁は4KBじゃなく、8KB。しかも8192byteちょうどならフリーズ。8191byteならOK。
あと、これは予想されたことだが、showpage\n がファイル末尾ならどんなサイズでもOK。1文字でも余計に続くとフリーズ。
で、だ。これが不可解なんだが、write(2) で一発でパイプに書くんじゃなく、
1バイトずつ、1024バイトずつ、4096バイトずつ、小分けに書くとフリーズしない。
もちろんこの間 read(2) していない。
なぜだ?誰か名推理してくれ。あるいは次に調べること提案してくれ。
どうも FreeBSD 固有の pipe の実装にぶちあたってきた気がしてならない。
あと蛇足だが衝撃の事実。gs は標準入力を1バイトずつ read(2) してる。
■ このスレッドは過去ログ倉庫に格納されています