// 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 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(); } }