Tralsys / BIDSSMemLib

BIDS用SharedMemoryを簡単に扱うためのLibrary
https://tralsys.github.io/BIDSSMemLib/
Other
7 stars 0 forks source link

[bug] SMemIF キャパシティ周りにバグがあるっぽい? #17

Closed TetsuOtter closed 1 year ago

TetsuOtter commented 3 years ago

巨大な配列(リスト)データを書き込もうとするとなぜか失敗する. おそらくキャパシティ周りの問題だと思われ, テストでは手動でキャパシティを設定することで対応したが, あまりに不便である.

キャパシティの自動拡張機能を正常に使えるようにしたい

TetsuOtter commented 3 years ago

一度MemoryMappedFileがCreateNewされると, キャパシティを後から変更できないらしいことが判明した

https://stackoverflow.com/questions/6096485/how-to-dynamically-expand-a-memory-mapped-file/36155244

一度領域全体を取得してMemoryMappedFileを解放してから再作成する処理を入れる…?

TetsuOtter commented 3 years ago

自動拡張機能は諦めることにする. 複数プロセスで横断して使用している共有メモリ空間をいったん解放して再取得する実装が面倒すぎる

TetsuOtter commented 3 years ago

net35以下では, 場合によっては書き込みに失敗する場合がある

具体的には, 概ね4KB以上の領域を扱おうとするとエラーが出る