前の日 / 次の日 / 最新 / 2005-06

MuraTaka 速記メモ / 2005-06-26

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

2005-06-26 Sun

ゾンビの回収に waitpid を [c]

マルチプロセスを利用する際、folk した後の子プロセスは、wait を実行することで、終了時のリソースの解放が行なわれる。
wait が実行されなかった時は、その子プロセスはゾンビ状態で残り続ける。

waitpid は子プロセスの状態変化をハンドルすることが可能。オプションによっていろいろと使い分けがきく。

- WAIT

これらのシステムコールはいずれも、呼び出し元プロセスの子プロセスの状態変化を待ち、状態が変化したその子プロセスの情報を取得するのに使用される。状態変化とは以下のいずれかである: 子プロセスの終了、シグナルによる子プロセスの停止、シグナルによる子プロセスの再開。子プロセスが終了した場合は、wait を実行することで、システムがその子プロセスに関連するリソースを解放できるようになる。 wait が実行されなかった場合には、終了した子プロセスは「ゾンビ」状態で残り続ける

2度 free している? [c][Mac]

とある c のプログラム。
自宅の Mac で手を入れようと思ったら、

*** malloc[xxx]: Deallocation of a pointer not malloced

とワーニングがでる。

double free ということだが、そのようなことはしていない。

- Mac OS X関連な場所
- zlib の脆弱性と Mac OS X

この際、気にせずにおこうかと思ったが、結果にも影響しているんだよね・・・

Solaris, Linux では問題ないのだけど。

2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2009-10-14 00:22