a99904a45a
Closes https://github.com/dart-lang/sdk/issues/43947 Change-Id: I5c7abdd25e15f4ddaef11b45af294e7345d7cf99 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/169321 Commit-Queue: Martin Kustermann <kustermann@google.com> Reviewed-by: Tess Strickland <sstrickl@google.com> Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
39 lines
1.1 KiB
Dart
39 lines
1.1 KiB
Dart
// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
// Normally the CFE recognizes files in ..._2 directories and automatically
|
|
// opts those libraries out of NNBD. Though this file will be copied to the
|
|
// build directory, which will cause the CFE no longer to automatically opt it
|
|
// out of NNBD, so we do that explicitly here.
|
|
// @dart=2.9
|
|
|
|
// Script used by the file_lock_test.dart test.
|
|
|
|
import "dart:io";
|
|
|
|
main(List<String> args) {
|
|
File file = new File(args[0]);
|
|
int start = null;
|
|
int end = null;
|
|
var mode = FileLock.exclusive;
|
|
if (args[1] == 'SHARED') {
|
|
mode = FileLock.shared;
|
|
}
|
|
if (args[2] != 'null') {
|
|
start = int.parse(args[2]);
|
|
}
|
|
if (args[3] != 'null') {
|
|
end = int.parse(args[3]);
|
|
}
|
|
var raf = file.openSync(mode: FileMode.write);
|
|
try {
|
|
raf.lockSync(mode, start, end);
|
|
print('LOCK SUCCEEDED');
|
|
} catch (e) {
|
|
print('LOCK FAILED');
|
|
} finally {
|
|
raf.closeSync();
|
|
}
|
|
}
|