コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2005年12月2日 >>> 2005年11月19日
link もっと後

2005年12月2日

ドコモの仕事と並行して、自分の研究となる予定のものも暇を見つけて進めています。
今日はERESTARTSYSの話です。普通ユーザーモードではお目にかかりません。しかしプロセスがトレースされていて、システムコールによりブロックされているという特殊状態でシグナルを受け取ると、返り値にこのエラーが入ったシステムコールがトラップされます。

getchar(3) でブロックするハンドラを書いて、sigaction(2) で指定するプログラムをトレーサで見張り、別のシェルからそのプログラムにkill(1) でシグナルを投げました。トレースするとこんな感じでした。

  1. readの入り口(以降、〜〜inと書く)
  2. readが帰ってくる(以降、〜〜outと書く)-ERESTARTSYSエラーが返り値に入っている
  3. ハンドラに飛んで、read in
  4. (適当にキーを押す)
  5. read out
  6. sigreturn in
  7. -1というシステムコール番号、-EINTRが返り値に入ってトラップされる…たぶん中断されたreadの対応部分
  8. ブロックしていた場所(readのとこ)の次から実行される

とこんな具合になっているようです。トレースされている方のプロセスではreadは失敗に終わり、トレースしないときと同様にEINTRが設定されて帰ってきます。ちなみにシグナルハンドラでブロックしているときに、さらにシグナルを投げるとハンドラの入れ子になります。1 -> 2 -> 2 sigreturn -> 1 sigreturn -> 元の場所、となります。
sigreturnの帰ってこないという特殊性とERESTARTSYSを考慮しないと、システムコールのスタックがうまく作れないなーなんて思った昼すぎのひととき。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2005年12月1日

寝坊してセミナーに遅刻しました。塚田氏の電話で起きなかったらやばかったなあ。
今日試しに研究室からこのページを見たら、同じ時間のログが二回記録されてしまいました。バグってますねえ、やはり記録時にロックしないせいでしょうか…。当面はe-Counterに元々書いてあったロック機構で運用してみます。そういえばここのカウンタ、KENT WEBさんのe-Counterが元なのでe-Counterを名乗っていますが、拡張しすぎてe-Counterのコードがほとんど残っていません。KENT WEBで元のカウンタを見ていただくとわかりますが、元のはシンプルを売りにしているのでログも吐かないし、画像連結もしません。

カウンタの「本日」のヒット数が正確でない(1回少ない値が出ることがある)問題は承知していますが、修正は困難です。例えば、合計100ヒット、本日10ヒットだったとします。次は合計が101で本日が11となるべきですね。しかし「合計」と「本日」というように表示を2つに分けたために、どちらが先に読まれるかわかりません。表示順序は以下の2つの場合が考えられます。

  1. 合計(カウントアップ100 -> 101、10 -> 11) -> 本日(11が表示される)の場合、101、11と正確な値が出ます。
  2. 本日(10が表示される) -> 合計(カウントアップ)の場合、101、10と「本日」に古い値である10が表示されます。

うちのように前回とIPが同じならカウントしない、という制約があるなら「合計」と「本日」のどちらのタイミングでもカウント処理を行うように書いてしまうと解決します。後から来たリクエストがどちらであろうと、前回とIPが同じということで無視できるからです。
ところがこのカウンタは、とにかく表示されたら1回カウントするという設定にもできます。そもそも画像のカウンタなので、画像を表示しない設定の人はカウントしようがなく、この設定に何か意味があるのか?と思いますが、別問題なので触れずにおきましょう。全てカウントする設定の場合、正確な「本日」表示は難しいです。思いつくものはある秒数(適当に決める)内の再表示はカウントしないようにするくらいでしょうか。でもそれって正確なカウントなのかなあ?

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2005年11月30日

Comsys 2005二日目。加藤研から持ってきて会場内に設置していた無線LAN基地が異常に調子悪くて困りました。加藤先生を始めとしてMac組は昨日から全員繋げないと言っていたし。一見するとアンテナ三本で立派なのに、所詮バッファローってことですか…。それとも無線LANの利用人数が多すぎたのかなあ?

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2005年11月29日

Comsys 2005に参加しました。前回は東京タワーの近くでやったので、非常に遠くて疲れました。今年は筑波大学で行われました。やはり近い場所は良いですね。ちなみに明日もあります。
カウンタの仕様を変更しました。今までは1桁ずつ表示させていたため、例えば5桁表示なら5回リクエストが飛んでいました。それを PNGの連結ライブラリで連結した画像を表示するように変更しました。5回CGIが起動することと、PNGの連結処理を比べるとどちらが重いのか?という議論もありますが、そもそも大してアクセス数のないサイトなので気にしていません。どちらかというと1桁だけ欠けるという事態がなくなって嬉しいです。
ところが別の問題が起きました。IEはパレットカラーのPNGしか透過処理をしないようです。連結ライブラリが出力するのは24bitの透過PNG画像のため、全く透過してくれません。これはIEの素敵な仕様なのでしょうね、仕方ないのでchromaで透過処理をしてごまかしました。
IEってなんていうか中途半端な実装だなあ。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2005年11月28日

タイトル変えました。横に書いてあるのはラテン語です。文法とか単語の意味はGoogleに聞けば出ます。
先日のsuExecを止めた悪影響が出ていました。ログファイルのパーミッションを644としていたためにカウンタがログを書き込めず、数日間カウントが停止していました。最近全然回らないなあと思ったら、なんとも情けない設定ミスでした。
サーバで開発をするのは良くないのはわかっていながらも、家にLinuxマシンがこれしかないのもあって使いまくりです。今日ミスって無限ループ内でnewをやったら、スワップしまくってネットワークが固まりました。これしきで固まってしまうんだなあ。
あと、誰も気づかない点としてgif画像をPNGに置換中です。これも昔は IEがPNGを表示できないという腐った仕様だったためです。今は透過PNGも普通に表示してくれますがね。カウンタの画像やリンクの横にあるアニメーションgifなどはまだ残っていますが、アニメーションなんて正直どうでもいいのでそのうち静止画になります。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2005年11月27日

流行のAjaxを使ってみようと思い立ったものの、サーバが必要な処理が特に見当たらないのでJavaScriptのみを使うことにしました。大した事しませんけどね。
昔NN4やIE4が全盛だった時代にJavaScriptに一度挑んで、ブラウザによってあまりに動作が違ったため、がっかりして使うのをやめた記憶があります。最近になって互換性も向上してきたようで、昔実現したかったことがあっさり書けてびっくりです。
そのためIE4とかNN4のような骨董品を使っている人は、過去日記のリンク項目が展開できなくなりました。あきらめましょう。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2005年11月26日

集中授業に出ました。書類の直しをするばかりでだるいです。これがSEの仕事なのかあ、つまんねえなあ。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2005年11月25日

北脇さんとじょーとで福村に行きました。焼き魚は食べるのが面倒くさいからもう頼みません。噛んでる時間より突付いている時間の方が長いなんて…。
板野先生の授業の最終課題は2つの英文章を選んでA4 3枚に要約せよ、という課題です。短めのを2つ選んで全部訳してしまったので、あとは適当に3枚になるように切り詰めればOKかな。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2005年11月24日

Google先生に捕まっていない(Coinsの時のアドレスで残ってる)と思ったら、Yahoo先生につかまっていました。「野菜のめぐみ」でページ検索したら、えぇぇぇ4番!?ばかな、こんなページが!
ちなみに某野菜ジュースと同じ名前なのは、昔、毎日飲んで気に入ってたからです。当初は(今も?)内輪事だけだし、平気だろうと構えていたらこんな上に出てるとは存じませんで…スミマセン。そのうち名前変えます。
JoyToKeyもどきをやっとWTL版に移植しました。使い勝手は変わらず、自己満足の世界です。機能追加しようにももう特に欲しい機能はないし、連射機能くらいかなあ。でも使わないなあ。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2005年11月23日

11/23現在、未だGoogle先生に捕捉されていない奇跡。できればこのままそっとしておいていただきたいね。
昨日に引き続きNTPの話です。Ring Server ProjectがNTPサービスを提供しているようです。適当なNTPサーバが見つからないなあとお困りのあなたはntp.ring.gr.jpを使ってみると良いでしょう。
研究室のNTPサーバの同期先をネット研(stratum 3、hakobe(学情)またはmfeedと同期)から SINET(stratum 1、GPSかな?)に変更しました。これはSINET利用機関専用のNTPサービスで、研究室から使って良いのか不明です。筑波大学の内部組織もまたSINET利用機関と言えるのか?という点がはっきりすれば解決します…。
実は hakobe.cc.tsukuba.ac.jp(学情のNTPサーバ、stratum 2)が使えれば一番楽です。はい。でもこれも勝手に使って良いのですか?誰か知りませんか?

話は変わって我が家のサーバについて。favicon.icoがないぞ、というエラーが溜まりまくってうっとおしいためルート(/var/www/)にfavicon.icoを追加しました。今のアイコンは適当です。そのうち差し替えます。
みなさんには関係ありませんがもう1つ。必要性を感じないため suEXECを無効にしました。参照:How to disable suexec of Apache.にDebian流の方法が載っています。Apache2系は初めからsuEXECが無効なようですね。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2005年11月22日

パソコンの時計は勝手にどんどんずれていきます。放って置くと1分くらいずれていることもしばしばです。
そこでNTPという時計合わせのためのプロトコルを用います。我が家ではntp.jst.mfeed.ad.jp(stratum 2)とバックアップにWAKWAK(stratum 3)のNTPサーバと同期しています。NTPで時刻の同期を行う場合、上の階層のサーバに負担をかけないように注意しましょう。
具体的には家の中の1台だけを上位のサーバと同期させ、他のマシンはその1台と同期させるようにします。だからってうちのサーバを使わないでね…しょぼいマシンなんでいじめないでください…。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2005年11月21日

JoyToKeyもどきはWTLを使って作り直すことにしました。GUIと関係ないロジック部分は使いまわしです。
というわけで今日は WTLを使ったGUIプログラミングに悪戦苦闘です。MFCの概念に慣れていないことや、WTLにはリファレンスがないことが相まって、わからないことだらけです。
Google先生で先人の知恵を借りる、ヘッダファイルを検索して関数を見つけるなどして粘ってます。せめてもの救いは Win32 APIと似た名前が多く関数名のアタリをつけやすいことかなあ。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2005年11月20日

情報システムデザイン論のレポートをやりました。UMLを手書きにしたら手が冷たくなりすぎて字が書けません。でもキーボードはちゃっちゃと打てます。昔は指が動かなくなると打ち間違いが増えてイライラしていたものですが、ブラインドタッチでかなり変わったなあ。
JoyToKeyもどきを改善中です。ファイル管理の部分を追加しました。具体的にいうとメモ帳の新規作成、とか保存とか開くとかの部分にあたります。このプログラムには悩みどころがあって、ジョイスティックの入力をキーボードやマウスの入力に変換する基本部分は割とすっきりしているのに、 GUIの部分が超やっつけ仕事なのです。直すとなると簡単なGUIライブラリを使いたいところです。
アプリケーションを作成する際に、ライブラリをどうするかは悩みどころです。学生なら、勉強として一から作ろうという見方もありますが、企業などならば車輪の再発明なんて時間の無駄ですから、迷わずWTLなど既存の優れたライブラリを使うでしょう。さて私はというと、作りたいという興味と面倒だなあという気持ちがぶつかり合って微妙な状態です。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2005年11月19日

昨日、寒いしたまにはシャワーじゃなくて湯船に漬かろうかなーと思って、風呂に入ったら死にそうに気持ち悪くなって、景色が暗転しました。やばそうだけど頑張って頭とか全部洗ってからあがったら、目の前が真っ暗になりました。な、何これぇ〜。根性で椅子まで辿り着いて、何とか気絶は回避しました。あんなぬるいのに湯あたりするとは思いませんでした。
って、昨日のエントリに追加しようと思ったら、大下さんも今日偶然にそうなったらしいので今日のとこに移動です。俺は気絶まではしていないけど奇遇です。お互い怪我せずに済んで良かったねえ。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2005年12月2日 >>> 2005年11月19日
link もっと後

管理用メニュー

link 記事を新規作成

<2005>
<<<12>>>
----123
45678910
11121314151617
18192021222324
25262728293031

最近のコメント20件

  • link 21年9月20日
    すずきさん (11/19 01:04)
    「It was my pleasure.」
  • link 21年9月20日
    whtさん (11/17 23:41)
    「This blog solves my ...」
  • link 24年10月1日
    すずきさん (10/06 03:41)
    「xrdpで十分動作しているので、Wayl...」
  • link 24年10月1日
    hdkさん (10/03 19:05)
    「GNOMEをお使いでしたら今はWayla...」
  • link 24年10月1日
    すずきさん (10/03 10:12)
    「私は逆にVNCサーバーに繋ぐ使い方をした...」
  • link 24年10月1日
    hdkさん (10/03 08:30)
    「おー、面白いですね。xrdpはすでに立ち...」
  • link 14年6月13日
    2048player...さん (09/26 01:04)
    「最後に、この式を出すのに紙4枚(A4)も...」
  • link 14年6月13日
    2048playerさん (09/26 01:00)
    「今のところ最も簡略化した式です。\n--...」
  • link 14年6月13日
    2048playerさん (09/16 01:00)
    「返信ありがとうございます。\nコメントが...」
  • link 14年6月13日
    すずきさん (09/12 21:19)
    「コメントありがとうございます。同じ結果に...」
  • link 14年6月13日
    2048playerさん (09/08 17:30)
    「私も2048の最高スコアを求めたのですが...」
  • link 14年6月13日
    2048さん (09/08 17:16)
    「私も2048の最高スコアを求めたのですが...」
  • link 14年6月13日
    2048playerさん (09/08 16:10)
    「私も2048の最高スコアを求めたのですが...」
  • link 02年8月4日
    lxbfYeaaさん (07/12 10:11)
    「555」
  • link 24年6月17日
    すずきさん (06/23 00:12)
    「ありがとうございます。バルコニーではない...」
  • link 24年6月17日
    hdkさん (06/22 22:08)
    「GPSの最初の同期を取る時は見晴らしのい...」
  • link 24年5月16日
    すずきさん (05/21 11:41)
    「あー、確かにdpkg-reconfigu...」
  • link 24年5月16日
    hdkさん (05/21 08:55)
    「システム全体のlocale設定はDebi...」
  • link 24年5月17日
    すずきさん (05/20 13:16)
    「そうですねえ、普通はStandardなの...」
  • link 24年5月17日
    hdkさん (05/19 07:45)
    「なるほど、そういうことなんですね。Exc...」

最近の記事3件

  • link 24年11月18日
    すずき (12/04 02:08)
    「[nvJPEGとNVJPGとJetson APIその1 - nvJPEG decoupled API] 目次: Linux半年...」
  • link 23年4月10日
    すずき (12/04 01:40)
    「[Linux - まとめリンク] 目次: Linux関係の深いまとめリンク。目次: RISC-V目次: ROCK64/ROCK...」
  • link 24年11月28日
    すずき (12/01 00:53)
    「[BIOS/UEFI画面に入る方法] PCは起動時にあるキーを押すとBIOS/UEFIの設定画面に遷移します。良く見るパターン...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 12/04 02:08