|
>> 取得した動的メモリは開放されるのでしょうか? > UNIX では必ず解放されます。 元の質問とは大きく外れますが、共有メモリ(ipcs -mで見える)だと残りますね。 単なるFYIですが。 |
|
詳細はコード見ないと指摘できませんが、 > 複数個(MAX100個)のウインドウを開く為に > Display *display[100] ここだけ見ても、Displayに対する誤解がある気がします。 DisplayはXサーバとの接続ポイントです。 (socketとは限らないですが)分かりやすく言えば、socketを100用意して、それぞれ独立にサーバにつなごうとしているようなものです。 # 原理的には可能ですが、100のイベントループを管理するプログラムを書くのは嫌ですね。 |
|
補足ですが、Xt では XtDisplay(top_level) で Display * が 得られるので、Display を自前で用意する必要はありません。 % grep XtDisplay /usr/X11R6/include/X11/* IntrinsicP.h:#define XtDisplay(widget) DisplayOfScreen((widget)->core.screen) |
|
突然に書き込みで質問させていただく失礼をお許しください。 現在、ソケット通信(TCP/IP、マルチ)を行うプログラムを、 参考書などを調べながら作っております。 正直、概念などが良くわかっておりませんので、的外れな 物言いがあるかもしれませんが、御容赦ください。 現在、作成しようとしているシステム(X:仮名)では、 対向するYシステムと通信します。 また、Xシステム内部のプロセス間でも、クライアント・ サーバ間の通信を行います。 これらの通信に於いて、タイマを用意し、ヘルスチェックを 行おうとしていますが、この場合のタイマを、どのような形で 用意したものかで悩んでおります。 それぞれのプロセスの中から fork()したタイマで、上記のような 動作を行おうとしているのですが、この方法で大丈夫でしょうか? (事前の知識がありませんもので、不安を感じております。) あるいは、このような場合の、なにか、セオリーのようなもの というのは、あるのでしょうか? どうか、教えてくださいませ。 |