金具✅ 金具✅ reblogged at 6 years ago

unarist unarist@mstdn.maud.io

そうは言っても強いられているんだよなあ

金具✅ 金具✅ reblogged at 6 years ago

unarist unarist@mstdn.maud.io

!importantやめろ2018(自分が書いたUserStyleを見ながら

金具✅ 金具✅ reblogged at 6 years ago

もぐのもがないの moguno@social.mikutter.hachune.net

Ruby標準でrb_protect経由で任意のブロックを実行できそうな唯一のメソッドがfork()の子側の処理。なんでちょっと前に貼ったRuby本体のIssueにつながる。

金具✅ 金具✅ reblogged at 6 years ago

もぐのもがないの moguno@social.mikutter.hachune.net

FiberとC拡張ライブラリのコールバック機構は混ぜるな危険。

でFAな希ガス。

金具✅ 金具✅ reblogged at 6 years ago

もぐのもがないの moguno@social.mikutter.hachune.net

多分結論。

Fiberはrb_protect()経由で呼ばれたブロックの中でFiber.yeildを呼ぶと件のエラーが発生する。

rb_protect()はCで書かれた拡張ライブラリから、Rubyのブロックを呼ぶときに使う(ブロックで例外が発生したら、rb_protect()の戻り値がエラーになる。rb_protectを挟まないと呼び出し元まで例外が伝搬する。begin~rescueみたいなもん)

mikutterでは、DelayerはGtk.idle_add_priority()のコールバックを利用して動いている。

そしてGtk.idle_add_priorityはrb_protectを使ってコールバックを呼んでる。

金具✅ 金具✅ reblogged at 6 years ago

もぐのもがないの moguno@social.mikutter.hachune.net

5万円が欲しいからと言うよりは、

dev.mikutter.hachune.net/issue

割と気になってたIssueだったのが大きいっす。 :manko:

金具✅ 金具✅ reblogged at 6 years ago

Izumi Tsutsui tsutsuii@social.mikutter.hachune.net

もぐのさんにカレー5万円分送る準備をするか……

金具✅ 金具✅ reblogged at 6 years ago

もぐのもがないの moguno@social.mikutter.hachune.net

ruby-gnomeのrb_protect使ってるところを見っければ勝ちなのかも。

金具✅ 金具✅ reblogged at 6 years ago

もぐのもがないの moguno@social.mikutter.hachune.net

» Bug #2621: cannot resume Fiber from forked process - Ruby trunk - Ruby Issue Tracking System bugs.ruby-lang.org/issues/2621

CRuby読んで戻ってきたら、この一見遠そうなIssueが宝の山だったことに気づく。

金具✅ cobodo@mstdn.kanagu.info

@cobodo プラグインというかモンキーパッチ

金具✅ cobodo@mstdn.kanagu.info

@cobodo これは手元環境の単独プラグインの話であってworldonとは無関係

金具✅ cobodo@mstdn.kanagu.info

social.mikutter.hachune.net は social.mikutter.hachune.net だけどまぁ……w

金具✅ cobodo@mstdn.kanagu.info

@.jp がいい感じだ

金具✅ cobodo@mstdn.kanagu.info

someone@mstdn.example.com を someone@.example.com と表示するようにしてみた

金具✅ cobodo@mstdn.kanagu.info

もぐのさん、マジでFiberと戦っているのか……

金具✅ 金具✅ reblogged at 6 years ago

もぐのもがないの moguno@social.mikutter.hachune.net

rubyの核心に全然迫れない。

金具✅ 金具✅ reblogged at 6 years ago

もぐのもがないの moguno@social.mikutter.hachune.net

return ruby_current_execution_context_ptr;
ただのポインタだった。