6/25 (月)
新しい眼鏡
土曜日に購入した眼鏡の加工が終了し、今日からニュー眼鏡にチェンジ。
これまでの眼鏡にゴミがついて視界がさえぎられていたためか、ニュー眼鏡は視界の透明度が凄い。 部屋の中が埃だらけなのが明らかに!!
あまりに視界が明るくなったせいか、眼鏡を外した後に視界が白くぼやけるように見えるよ…
6/21 (木)
眼鏡が壊れた…
風呂上りに眼鏡を掛け直そうとしたら、左側の耳掛けの部分(?)がポキッと切れてしまった。
壊れた眼鏡は入社一年目に買ったもの。 学生時代に使っていた眼鏡は、就業中にレンズにひびが入って崩壊。 今の眼鏡はその時から使っているが、何度かフレームをへしゃげさせた後に一昨年にポキッっと折れてフレームだけを新調している。
なんか1年に1度ぐらいは眼鏡のトラブルは起きるし、思い切って新しい眼鏡を買って、壊れた眼鏡は修理して予備にするよ。
6/19 (火)
[Linux] exec 前後で引き継ぐものと引き継がないもの
2.6 系の Linux では exec 後のプロセスは、 シグナルマスクはクリアされずに exec 後も引き継がれるということが判明。 そんなものなのかと他のOSの仕様を調べたが、 SYS V 系も BSD 系もだいたいシグナルマスクは継承なのね…
POSIX | Solaris | MacOS X | HP-UX | Linux | |
---|---|---|---|---|---|
シグナルアクション | クリア | クリア | クリア | クリア | クリア |
代替シグナルスタック | クリア | クリア | ? | クリア | クリア |
待機中のシグナル | 引き継ぐ | 引き継ぐ | ? | 引き継ぐ | クリア |
シグナルマスク | 引き継ぐ | 引き継ぐ | 引き継ぐ | 引き継ぐ | 引き継ぐ |
その他にも alarm(2) の残り時間は exec を越えて継承されるようだ (POSIX タイマーは破棄される)。 exec 前にインターバルタイマーを仕掛けておくと、 exec 後に SIGALRM シグナルが飛び込んでくることがあるということか?
今日の教訓 どのプロセスから呼ばれても安全な子プロセスを書くためには、 alarm(0) と sigprocmask の再設定が必要(?) |
[Food] べったこ@新横浜店 (Let's Enjyo TOKYO)
退職される方の歓送会。
6/15 (金)
[CPU] IA-64 の cmp8xchg16 命令
IA-64 の命令セットには、 16 バイトの整数ロード、ストア命令と共に 16バイトの Compare-And-Swap (CAS) 命令が存在している。 これらの命令は Madision 命令としては存在しいるが実 CPU では処理できない非実装命令だったのだが、 Dual Core Itanium2 の Montecito から実際に実装された。
この 16 バイト CAS 命令は cmp8xchg16
といい、
「メモリ上の 8 バイトの境界に沿うアドレス p
を指定して、
p
から 8 バイトの内容がレジスタと一致していれば、
p
を含む 16 バイト境界に沿った16バイトを新しい値と置き換える」という効果を持っている。
ところでこの命令がメモリ系のフォルトを発生させた時の ifa (instruction fault address) レジスタの値には注意が必要だ。 IA-64 の仕様書にもはっきり書いていないのだが、 実機では
- 16 バイト境界に沿うアドレス、例えば 0x0000,0000 を指定した場合、 メモリアクセスの範囲は 0x0000,0000 〜 0x0000,000f になる。 フォルトが起こった場合の ifa は 0x0000,0000。
- 16 バイト境界ではない 8 バイト境界に沿うアドレス、 例えば 0x0000,0008 を指定した場合、 メモリアクセスの範囲は 0x0000,0000 〜 0x0000,000f になる。 フォルトが起こった場合の ifa はやっぱり 0x0000,0008 になる。
のように振る舞う。 2. のような場合があるので、 ifa の指すアドレスがそのメモリアクセスの最低位だと信じると、 誤処理してしまうことがあるなり。
6/7 (木)
NETGEAR GSM7324 がまた故障
昨年の9月頃から調子が悪かったのだがついに完全故障。 電源を何度再投入しても、ケーブルを接続したポートの LED すら光らなくなった。 新横浜の事業所のマシン室は、空気の循環が悪いために熱がこもりがちだ。 夏が来る前にルータが最初ねをあげたんだねぇ。 とりあえずスイッチングハブで凌ぐ。
GSM7324 を購入したのは2004年の2月頃だったので保証期間は残っている。 でも、このルータはすでに一度メーカーに修理に出しているだよね(2004年9月27日、2004年11月30日)。 稼動中のトラブルが多いし買い換えたい。