2017年7月30日日曜日

どうしてLinuxではforkしたままだと共有ライブラリを読まないんだろう...。

forkしてexecするためのクラスを作ったのだが、ここで親プロセスではなく子プロセスが戻ってきてしまうように間違ったところ、共有ライブラリを読んでくれなくて死亡。

これはforkしてexecしてしまう場合には問題にならないが、プリエンプティブなスレッドが欲しい場合に問題になる。以前これについて調査したところ「forkする前になんか呼び出して予めライブラリを読ませとけ」というのが回答だったし他の回答はなかったのでこれがベストなんだろう。

メモリ空間をまるごと共有みたいな真似せずに必要ならmmapして共有しとけということかも知れぬ。

0 件のコメント:

コメントを投稿

引っ越すことにした。

引っ越し先。 見えるかな。