{"image_url":null,"blog_title":"ruby trunk changes","version":"1.0","width":"100%","type":"rich","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fruby-trunk-changes.hatenablog.com%2Fentry%2F20110405%2Fruby_trunk_changes_31237_31241\" title=\"ruby-trunk-changes r31237 - r31241 - ruby trunk changes\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","author_name":"nagachika","provider_name":"Hatena Blog","height":"190","categories":["ruby","changes"],"provider_url":"https://hatena.blog","title":"ruby-trunk-changes r31237 - r31241","url":"https://ruby-trunk-changes.hatenablog.com/entry/20110405/ruby_trunk_changes_31237_31241","blog_url":"https://ruby-trunk-changes.hatenablog.com/","published":"2011-04-05 00:00:00","author_url":"https://blog.hatena.ne.jp/nagachika/","description":"\u4eca\u65e5\u306f IO \u56de\u308a\u306e\u4fee\u6b63\u304c\u5165\u3063\u3066\u3044\u307e\u3059\u3002 kosaki:r31237 2011-04-04 21:43:28 +0900 IO#syswrite \u306f\u76f4\u63a5 write(2) \u3092\u547c\u3073\u51fa\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u30d6\u30ed\u30c3\u30af\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u306e\u3067 rb_thread_io_blocking_region() \u7d4c\u7531\u3067 GVL \u3092\u958b\u653e\u3057\u3066\u547c\u3076\u3088\u3046\u306b\u4fee\u6b63\u3057\u3066\u3044\u307e\u3059\u3002 [ruby-core:35554] [Bug #4526] kosaki:r31238 2011-04-04 22:11:14 +0900 \u62e1\u5f35\u30e9\u30a4\u30d6\u30e9\u30ea io/nonblock \u306e IO#nonblock= \u3067\u30d5\u30a1\u30a4\u30eb\u30c7\u30a3\u30b9\u30af\u30ea\u30d7\u30bf\u306e\u30d5\u30e9\u30b0\u306b O_NONB\u2026"}