2007/04/15

ログオフ or 電源オフに時間がかかる

Windowsのログオフや電源オフの時間がかかるようになって、イライラしてきた。
調べてみると、どうやらレジストリのタイムアウト待ちが原因のようだ。
なので、こいつをインストールして解消できた。

==User Profile Hive Cleanup Service==
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=1b286e6d-8912-4e18-b570-42470e2f3582

詳細についてはこっちを参照

==プロファイルのアンロードに関する問題のトラブルシューティング==
http://support.microsoft.com/default.aspx?scid=kb;ja;837115

2007/04/12

Windows Updateが上手く動かない

同僚がWindows Update が上手く動かず(CPU 100%で固まる)悪戦苦闘していた。いっしょに調べていていくつか原因のようなものを見つけたのでメモ

  1. cygrunsrvを動かしている
  2. MS Office 2003が入っている & Microsoft Update を使っている
  3. その他
まずは1番目、cygwinのデーモンをWindowsサービスに登録して動かすためのツール"cygrunsrv"がサービスとして動いているとWindows Update が上手く動かないことがあるらしい。ただ、サービスを停止してしまえばいいらしいので対応は楽。ただ、同僚のマシンにはcygwin自体がインストールされていなかった

2番目の"MS Office 2003が入っている & Microsoft Update を使っている"場合はパッチがあるようなので、それをダウンロードして、インストールしてみる。原因はSvchostがCPUを100%使い切ってしまうためらしい。

ただ、このパッチをインストールするために、Windows Installer をアップデートする必要があるので、要注意!

==ホットフィックス パッケージ 916089 を適用した後に、 Windows Update から更新をインストールするとき、アクセス違反が表示されます。==
http://support.microsoft.com/kb/927891/

==Windows インストーラ 3.1 v2==
http://support.microsoft.com/kb/893803/

ただ、このパッチを当てても問題は解決しなかった

3番目のその他として、時刻がずれているとWindows Update に失敗するので同期を取ったり、ウイルス対策ソフトの設定をデフォルトに戻したりと色々やってみたが、まったく効果なし。ただ、何度か繰り返していると上手くWindows Update が出来てしまった。原因がつかめないまま終わったので、どうも釈然としない。

2007/04/11

マクロ関数!=関数

同じような処理(構造体にデータをセットして関数に渡すだけ)をソースのあちこちでやっていたので、マクロ関数を定義して読みやすくしてみた。関数を新しく作っても良かったが、引数の数が多くなりそうだったので、マクロ関数にした。

C言語のマクロ関数はただ単にプリプロセッサで文字列の置換がされるだけなので、型チェックや変数の値とかに注意する必要はあるけど、使うのは簡単(使い方を誤ると副作用もでかいけど・・・)

普通の関数と違って、ポインタ渡しで渡す必要が無かったり、戻り値が取れないとか使い所を分けてやる必要があるけれど、これってCの初歩じゃないのか?

2007/04/07

portupgradeの場所が変わってた

portupgradeのports Collectionでの場所が変わっていたのでメモ

/usr/ports/UPDATING の記述によると2007/2/5にはすでに変わっていたみたい・・・orz

新しい場所は、 ports-mgmt/portupgrade なので、sysutils/portupgradeを探しても見つからないわけだ