68user's page 掲示板

Prev< No. 3111〜3116> Next  [最新発言に戻る] [過去ログ一覧]
No. 3111 # ふくし 2003/02/19 (水) 23:22:06
そういや(質問でも答でもなく雑談ですが、いいんですかね)
せっかく自分のサーバー立てたんだから、XML::DOM 入れてみよう!(^^)

No. 3112 # 68user 2003/02/21 (金) 22:22:21
>>3110 wataru
> ESPIPEの件は、また別のところで起こっていたようです。
しょーもないミスですが、ありがちですね。

>>3109 wataru
> SSLでの通信も行っているのですが、SSL_write()を使用する際に
> タイムアウトの時間を設定したいのですが、方法がわかりません。
使ったことはありませんが、
    http://www.openssl.org/docs/ssl/SSL_CTX_set_timeout.html
とか、
    http://www.openssl.org/docs/ssl/SSL_get_fd.html
でディスクリプタを取得して select とか、あるいは単純に
alarm とか、でしょうか。

No. 3113 # Japper 2003/02/24 (月) 00:01:36
こんばんわ
CGIのフォームメールで添付ファイルを送っているのですが
途中で通信を中止すると
サーバー上にファイルが残ってしまうということに悩まされています

そのフォームメールはQMAILを用いてメールを配信しています
POPサーバーはVPOPMAILです

対処法はなにかありますでしょうか?

No. 3114 # 68user 2003/02/24 (月) 17:27:34
>>3113 Japper
シグナルをキャッチするという方法もありますが、単にファイルを
消したいだけなら
    - 送信し終わったらファイル名をリネーム or ファイルの置き場所を
        変える (mv)
    - フォームメールが起動したとき、リネーム前 or 実行途中の置き場所
        にあるファイルで、タイムスタンプが古いものを消す。
が単純でよいと思います。

No. 3115 # koko 2003/02/24 (月) 19:36:35
親プロセスでFILE* fpに対してファイルをオープンします。
その後、forkで子プロセスを生成し、子プロセスですぐにfclose(fp)を行います。(子プロセスではファイルを使用しない為。)
子プロセスでファイルをfcloseした後、親プロセスでは引き続きfpに対して読み込みや書き込みを行えるでしょうか。
ファイルディスクリプタは、子プロセスで閉じても親プロセスに影響無いようですが、ファイルポインタは共有されている(?)様なので影響がありそうな気がするのですが、いかがでしょうか。
■知りたい事
1.最終的に親と子でそれぞれfclose(fp)を行う必要があるか。
    (開いたものは必要であれば明示的に閉じるようにしたい。)
2.子プロセスでfcloseしても、親プロセスのfpに影響がないか。

よろしくお願い致します。

No. 3116 # 68user 2003/02/24 (月) 19:55:02
>>3115 koko
> 1.最終的に親と子でそれぞれfclose(fp)を行う必要があるか。
> 2.子プロセスでfcloseしても、親プロセスのfpに影響がないか。

fork したときの出力用バッファにデータがたまっていれば、子の
fclose でバッファがフラッシュされます。そこで親も fclose すれば
同じ内容のバッファがファイルに出力され、同じ内容のデータが
2回書かれることになります。

なお fclose(3) しなかったとしても、exit(3) すれば結局は fclose されます。
# _exit(2) ならされません。

よって、
    1. fflush(fp)
    2. fork
    3. 子は fclose (*A)、親は引き続き fp を使う
がよろしいかと。

*A は、してもしなくても変わりませんが、子で使わないという
意志を明確に示すために fclose(3) した方がよいと僕は思います。

Prev< No. 3111〜3116> Next  [最新発言に戻る] [過去ログ一覧]