Ruby 4.1 リファレンスマニュアル

instance method IO::Buffer#locked?

locked? -> boolRuby 3.1 から[permalink][rdoc][edit]
() → bool

バッファがロックされている場合に true を返します。

ロックされた IO::Buffer::Storage は、大きさの変更や解放、所有権の移動ができません。 IO::Buffer#locked は入れ子にして呼べます。

ロックは、同じメモリ領域を参照する IO::Buffer::Slice と共有されます。参照元がロックされている間は、スライスの locked? も true になります。スライスをロックすると、メモリ領域全体がロックされます。システムコールでバッファを使っている間に、そのバッファが移動しないことを保証するための仕組みです。

[SEE_ALSO] IO::Buffer#locked