タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

OCamlとFFIに関するnsyeeのブックマーク (1)

  • マルチスレッドなFFIの実装 - keigoiの日記

    マルチスレッドでOCamlからCを呼ぶ場合、または CからOCamlにコールバックする場合、 C側からOCaml のデータを触るとき C側からOCaml のコードを呼ぶとき は、その部分を (OCamlを触らないコード) leave_blocking_section(); (OCamlを触るコード) enter_blocking_section(); (OCamlを触らないコード) のように配置する*1. 2目のスレッドがOCaml側にやってきたときは、leave_blocking_sectionでコンテキストスイッチまで待たされることになる。 注意: camlspotterさんの記事 等も参考にすること。 実際にFFIでCのコードに入った直後は他のOCamlスレッドがブロックされているので、enter_blocking_section() して、 fopen などブロックする関数を呼び

    マルチスレッドなFFIの実装 - keigoiの日記
  • 1