インスタンスメソッド


duplicate(as:retryOnInterrupt:)


このファイル記述語を複製し、新しく作成されたコピーを返します。


iOS 14.0+ iPadOS 14.0+ Mac Catalyst 14.0+ macOS 11.0+

tvOS 14.0+ visionOS 1.0+ watchOS 7.0+

func duplicate(
as target: FileDescriptor? = nil,
retryOnInterrupt: Bool = true
) throws -> FileDescriptor





パラメータ


retryOnInterrupt

interrupted が throws された場合に書き込み操作を再試行するかどうか。デフォルトは true です。1 回だけ試行し、中断時にエラーを throw するには、false を渡します。



戻り値


新しいファイル記述語。



議論


target 記述語がすでに使用されている場合は、最初に close(2) 呼び出しが行われたかのように、まず割り当て解除されます。


ファイル記述語は、基礎となるシステム リソースへの参照にすぎません。システムは、元のファイル記述語と新しいファイル記述語をいずれにしろ区別しません。たとえば、一方のファイル記述語に対する読み取り、書き込み、検索操作は、もう一方のファイル記述語の論理ファイル位置にも影響し、追加モード、ブロッキングしない I/O、非同期 I/O オプションは参照間で共有されます。ファイルへの別のポインタが必要な場合は、open への追加の呼び出しを発行して、ファイルへの別のオブジェクト参照を取得しなければなりません。


ただし、各ファイル記述語は独自の close-on-exec フラグを維持します。


対応する C 関数は dupdup2 です。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ