アダルト・ヴァイオリン May the force be with you..

2005年7月31日

どんどん深みにはまっていく気がする・・

Filed under: 組込みシステム — @ 9:50 PM

家のマシンで確認したところ、子プロセスで動いたRxvtが強制終了させられると
親のバッチファイルまでシグナルが飛んでくるので、結局バッチファイルを
終了するかの確認が入ってうまくない。

そこで、Rxvtからのシグナルを読み捨てるプログラムをC言語で別に作成し、
このプログラムからRxvtを起動するようにした。

一応、これでほぼ満足行く動作をしているのだが、最小化したコマンドプロンプトを
わざわざ開いて中断されるとやっぱりだめである。
DOSの時代にはBREAKというコマンドが動作したのであるが、NT以降のWindowsでは
これは動かないので、コマンドプロンプトを保護する方法がない(と思う)

Windowsにはsigaction関数がないので、POSIXにないsignal関数を使わされるのも
なんだか気持ち悪い・・

それでも、このくらいにしておかないと、いくら時間をかけても
所詮Windowsである。納得行く結論にはなりにくい気がする。

もちろん、startコマンドを使おうとはしたのだが、ネストされたstartの
挙動はどうもおかしく、思った形にはならなかった。

コマンドプロンプトを最小化状態で実行

Filed under: 組込みシステム — @ 6:54 PM

というのは、WindowsXPやWindows2000では直接はできないのだが、
ショートカットを作るとそのプロパティの設定で可能となる。

そこで、先の件の対策として有望なのは、触らせなくないBATコマンドは
最小化状態で起動し、その中からCygwinのRxvtを呼び出して、ユーザには
Rxvtだけを触らせるというもの。

これだと、Rxvtを強制終了してもBATコマンド自体は動いているため
「きっと」大丈夫な気がする(笑)

ここ4日間は作業はできないので、しばらく確認は難しいが、この方針で
いくつかテストを始めてみよう。

コマンドプロンプトを強制終了させられる

Filed under: 組込みシステム — @ 10:28 AM

CDROMのドアロックをして安心と思っていたら、
そうではなかったらしい。
彼らは、コマンドプロンプトのウィンドウを強制終了するので、
ドアロックの解除がされず、CDが取り出せなくなると騒いでいる。

だから、シェルを正常終了させない限りだめだって・・

コマンドプロンプトの強制終了禁止のツールなんてあるのかしらん?

GPS情報

Filed under: モバイル — @ 7:21 AM

昨日日本橋で試したところ、その場所では衛星は見えていたはずなのに
GPSの位置情報は取得できなかった。
やはり、Hamana-1の場合と同じく補足まで数10分かかることがあるのか?
と思い、家に帰って試してみたら、やっぱりすぐには衛星を捕捉しない。

補足しないのはいいのだけれど、捕捉するまで直前に捕捉した場所を
ずっと示し続けるから、まずい場所にいたりすると、バレバレとなってしまう(笑)

2005年7月30日

ドアロックOK

Filed under: 組込みシステム — @ 11:20 AM

やっぱり、ハンドルのクロースの問題だった。
UNIX系のOSではプロセスが終了時にはすべてのハンドルを
自動的にクロースすると思うのだが、Windowsでは違うのだろうか?

まぁ、何はともあれ良かった。

こんなことで悩むのは、LiveCDを途中で抜く奴がいるからなのだが、
身近に馬鹿なことを平気でするのがいると、問題が拡大する前に
対処できるから少しうれしいかもしれない(笑)

明日使うCDROMはとりあえず修正しておいた。
WEB上のは・・まぁ、使う人もいないだろうから放っておこう。

CDROMのドアロック again

Filed under: 組込みシステム — @ 7:31 AM

IOCTL_STORAGE_MEDIA_REMOVALのIOCTLをドライブに送ると
何かしら制御できそうなのだが、やってみるとドライブをオープンした
ハンドルをもったプログラムからしか制御できない。
つまり、ロックしてプログラムを終了させると他のプログラムは
このドライブを制御できないみたい。

まだオープン時のパラメータなど色々試してみないと分からないところも
多いなぁ・・
単にハンドルをクロースすればいいのかしらん?

Windowsのプログラムは訳分からん

2005年7月29日

CDROMのドアロック

Filed under: 組込みシステム — @ 10:01 AM

LinuxではCDROMをマウントすればドアが自動的にロックされる。
ところが、Windowsでは利用中のファイルがあろうとなかろうと
イジェクトボタンが押されると勝手にCDROMが取り出されてしまう。

LiveCygwinではバッチファイルをCDROM上で動作させているのだが、
CDROMが取り出されてしまうといかんともしがたい!

0xFE01, 0xFE00をCDROMに送ることができるインタフェースがあればいいだけなのだが・・

マイルス・デイビス

Filed under: 音楽 — @ 6:38 AM

マイルス・デイビスの名アルバムSomethin’ Elseもお勧めの一つ
クラシックもジャズも心地よいものは何でも聴くのであった。

クライスラーとチボーのバイオリン

Filed under: 音楽 — @ 6:20 AM

クラシックの名曲を多く作曲したクライスラーであるが、なんといっても、
彼が自分で演奏した曲が残っているのがすばらしい。
クライスラー:愛奏曲集
クライスラー:自作自演集
どちらもぜひ聞きたいCDである。
実は、発注しているのだが、一緒に発注したチボーのCDが輸入版でなかなか入らず
いつまでたっても納品されない(笑)
チボーをあきらめるか、分割にするかしたほうがいいかもしれない・・
実は、その後、チボーのアルバムは高い輸入版以外にも
フランク、フォーレ&ドビュッシー : ヴァイオリン・ソナタ
出ていることを発見。
こちらは24時間以内に発送となっているので、こちらに乗り換え、前のを
キャンセルするか・・

POSIXスレッド

Filed under: 組込みシステム — @ 5:20 AM

MDD教育用の資料を、MLに流したのだが、POSIXスレッドとシグナルを同時に使う
プログラムを自分では書いていなかったので、カーネル機能から推定して
記述をした部分があった。ところが、確認していない部分には「必ず」バグが
潜むものだ(笑)
Pthreadsプログラミングを読むと、シグナルはスレッドのうち、1つだけに
報告されるとある。カーネル本だと同一プロセスグループのすべてのスレッドに
報告されることになっているが、これだとシグナルはスレッド数分だけ発生するので
実際にはPthreads本が正しい。

再度、受講者に資料を送りなおすのも何なので、当日修正としよう。

Older Posts »

Powered by WordPress