10:49:37
icon

あずにゃん

Attach image
10:51:52
icon

gtk_mainのセマンティクスよくわからんな、なんでModal dialogが閉じるのを待ち受けるのに新しいイベントループが必要なの?

10:59:06
icon

ダイアログが閉じたのを非同期でメインに返すのが面倒だからイベントを処理してる最中のスレッドはそこで止まってほしいが、UIのメッセージポンプ自体が止まると困るみたいな話なのかなあ。でもモーダルが開いた時点でメインのウインドウ宛に投げられてたメッセージはどうなるんだ?

11:01:38
icon

こういう昔からあるGUIはさわりしかやってなくて普段触るのはWebブラウザばっかりなのでよくわからん

11:06:00
icon

気を抜くとスレッドって言ってしまうけど、実際はGTKのメッセージループってマルチスレッドでもFiberでもなく一本道だよね?

11:08:20
icon

全然わからない、俺達は雰囲気でGUIを使っている

11:51:27
icon

FiberError fiber called across stack rewinding barrierを再現するやつができました github.com/osak/mikutter_fiber

Web site image
GitHub - osak/mikutter_fiber_crash
12:01:26
icon

Gtk、メインスレッドでやらないとダメな処理と違うスレッドでもいい処理の区別がよく分かってない

12:02:53
icon

コンポーネントにちょっとでも触る系はメインスレッドじゃないとダメでいいのかな

12:08:00
icon

そうだとするとmikutterはguiをプラグイン経由でいじるからDelayer経由になって、GTK触るのは必ずメインスレッドになるのか(よくできてるなぁ)

12:09:17
icon

ダイアログ生成してるコードが全部dialog DSL経由になればFiber問題も勝手に解決しそう

12:15:23
icon

@tsutsuii 確かに、delayer-deferredは複数のスレッドがキューを消化し得る設計のアプリケーションだとそれだけでFiberError出して死ぬ気がするので、そっちを直すのは正しそうですね

12:18:35
icon

@toshi_a なるほど……guiプラグイン導入当初は何が嬉しいのかあんまり分かってなかったけど、今になって分かってきました。GTKは闇

12:22:00
icon

「Dialog#run は Blocks in a recursive main loop until the dialog either emits the response signal, or is destroyed. とのことだが再帰メインループレベルはインクリメントされない」 めっちゃ闇の臭いがするしなんならGTKのチュートリアルとも食い違っていてかなりヤバそう toshi-a.hatenablog.com/entry/2

12:26:34
icon

もしかしてDialog#runを使うとダイアログの上で何か起こるまでメッセージキューを消費しない感じなのか?だとするとダイアログ閉じないと死なないのも分かる気がする(さっきのプラグインはGtk::mainじゃなくてDialog#runで走るやつのため)

12:31:31
icon

@toshi_a UIは並びが重要だからスレッドセーフにしたいなら結局ロックする必要があるので、それでレスポンス悪くなるくらいならスレッドセーフじゃないことにしようというのはまあ分かる気がするし、Xを直接触る人(GTKコミッタ含む)は言わなくても当たり前でしょとか思ってそう

12:47:38
icon

@toshi_a あっ確かに、Ruby1.8系まではグリーンスレッドだから深く考えなくても動きそう

12:54:28
icon

うおおまじか、gtk_dialog_runはgtk_mainじゃなくてg_main_loop_runを直接呼んでるやんけ!!! gitlab.gnome.org/GNOME/gtk/blo

12:56:35
icon

Gtkのダイアログやばいな

13:01:43
icon

チュートリアルだと思ってたやつドメインをよく見たら公式じゃないな。雑な解説を引いただけだった book.huihoo.com/gtk+-gnome-app

13:02:26
icon

でもダイアログがgtk_mainを呼ばないならなんで再入可能になってるの……?

14:25:42
icon

スキーマ言語の重要性、腑に落ちた / ‪今さらProtocol Buffersと、手に馴染む道具の話 qiita.com/yugui/items/16073702

Web site image
今さらProtocol Buffersと、手に馴染む道具の話 - Qiita
14:27:25
icon

酒飲んだら神経痛が出てきた……

14:39:23
icon

酒を飲んだので痛み止めが飲めない