Javscript를 통해 단독 잠금이 설정된 파일을 열려고 합니다. 따라서 열어야 할 라이브러리는 unixFlags로 전달할 숫자가 문제이므로 땀을 흘리지 않습니다.
이것은 구문입니다:
OS.File.open('/path/to/file', {unixFlags: NUMBER_HERE});
배타적 잠금을 위한 falg인 NUMBER_HERE에 입력할 번호를 아는 사람이 있나요?
감사해요
답변1
아마도 그럴 것 같아요 OS.Constants.libc.O_EXLOCK
. 로부터MDN:
O_EXLOCK Atomically obtain an exclusive lock.
또한예제 코드이는 다음과 같은 값을 의미합니다.
let options = {
winShare: 0 // Exclusive lock on Windows
};
if (OS.Constants.libc.O_EXLOCK) {
// Exclusive lock on *nix
options.unixFlags = OS.Constants.libc.O_EXLOCK;
}
let file = yield OS.File.open(..., options);
방금 겪었어open
, 제가 생각하기에 실제로 오프닝을 수행하는 시스템 호출입니다. 여기에는 나열된 것이 없으므로 O_EXLOCK
그 이유로 상수를 사용할 수 없는 것으로 추정됩니다. 그만큼FreeBSD 변종그것을 나열 open
하고 있지만 openat
어떻게 해야할지 모르겠습니다. 에 따르면이 SO 답변 O_EXLOCK
Linux에서는 사용하지 못할 수 있습니다.