| // Copyright (c) 2020, 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. |
| |
| // VMOptions=--worker-thread-priority=12 |
| |
| import 'dart:ffi'; |
| import 'dart:io'; |
| |
| import 'package:expect/expect.dart'; |
| |
| // Value of "PRIO_PROCESS". |
| const int kPrioProcess = 0; |
| const int kCurrentThreadId = 0; |
| |
| // int getpriority(int which, id_t who) |
| typedef GetPriorityFT = int Function(int which, int who); |
| typedef GetPriorityNFT = Int32 Function(Int32 which, Uint32 who); |
| |
| final getPriority = DynamicLibrary.process() |
| .lookupFunction<GetPriorityNFT, GetPriorityFT>('getpriority'); |
| |
| main(args) { |
| if (Platform.isLinux || Platform.isAndroid) { |
| Expect.equals(12, getPriority(kPrioProcess, kCurrentThreadId)); |
| } |
| } |