ToDo:
SADのシグナルハンドリングをごそごそ掃除中
勘のいい人なら名前で分かると思いますが、 sigpending(2), sigsusped(2), sigprocmask(2)システムコールへの インターフェース関数を実装したので、SADScript側から シグナルマスクの制御が可能に成りました。 最終目標は、SigAction[](sigaction(2))を実装して SADScript関数をシグナルへのコールバックとして 呼び出せるようにすること!
そのためには、シグナルで割り込まれた時に SADインタープリタの コンテキストを切替える必要が有り、少なくともtfstk_ common blockを 入れ換える必要が有ります。
ここで使うSADインタープリタのコンテキスト切替えを拡張すると 似非マルチスレッドが実装出来る予感。 最近の環境では、CPUコンテキストの切替えに 旧来のsetjmp/longjmpではなく、ucontext APIが使えるので 少し楽が出来そうです。 ただ、所詮は似非マルチスレッドなので最近のマルチコア環境の活用に 成らない罠 Orz
まともな POSIXスレッドとかを活用するには、Fortran側の 各種 common blockを Thread Local Storageに放り込むか、 直接アクセスせずにすべてアクセス関数でラップして スレッド毎の構造体に埋め込むとかが必要かな?
もちろん、内部ルーチンの Thread Safe化とかオブジェクト・ヒープ操作の Critical Section保護はどんな実装にしろ必要ですが....
甲作戦にて海域クリアしました
瑞鶴改二甲/伊勢改/千代田航改二/千歳航改二/瑞鳳改/鈴谷改二(サブ)
大淀改/熊野改二(サブ)/初月改/雪風改/大井改二/北上改二
装備
進撃ルートは、OPQRS
瑞鶴改二甲/伊勢改/千代田航改二/千歳航改二/翔鶴改二甲/鈴谷改二(サブ)
大淀改/熊野改二(サブ)/初月改/大井改二/雪風改/北上改二
削りからの変更点
進撃ルートは、OPQRS
続くE4は、乙作戦かなぁ
伊400の堀をどうするかが問題だが…
ゲージ | 戦力(1) | 輸送 | 戦力(2) |
燃料 | 3000 | 8000 | 9000 |
弾薬 | 2000 | 7000 | 9000 |
鋼材 | 2000 | 1000 | 2000 |
ボーキ | 1000 | 2000 | 10000 |
バケツ | 10 | 31 | 30 |
戦力ゲージ(2)でのボーキサイトの消費が…
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記