Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
dart-lang
sdk
runtime
bin
crypto_macos.cc
Go to the documentation of this file.
1
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2
// for details. All rights reserved. Use of this source code is governed by a
3
// BSD-style license that can be found in the LICENSE file.
4
5
#include "
platform/globals.h
"
6
#if defined(DART_HOST_OS_MACOS)
7
8
#include <errno.h>
// NOLINT
9
#include <fcntl.h>
// NOLINT
10
11
#include "
bin/crypto.h
"
12
#include "
bin/fdutils.h
"
13
#include "
platform/signal_blocker.h
"
14
15
namespace
dart
{
16
namespace
bin {
17
18
bool
Crypto::GetRandomBytes
(intptr_t
count
, uint8_t*
buffer
) {
19
intptr_t fd =
TEMP_FAILURE_RETRY
(open(
"/dev/urandom"
, O_RDONLY | O_CLOEXEC));
20
if
(fd < 0) {
21
return
false
;
22
}
23
intptr_t bytes_read = 0;
24
do
{
25
int
res =
26
TEMP_FAILURE_RETRY
(
read
(fd,
buffer
+ bytes_read,
count
- bytes_read));
27
if
(res < 0) {
28
int
err = errno;
29
close(fd);
30
errno = err;
31
return
false
;
32
}
33
bytes_read += res;
34
}
while
(bytes_read <
count
);
35
close(fd);
36
return
true
;
37
}
38
39
}
// namespace bin
40
}
// namespace dart
41
42
#endif
// defined(DART_HOST_OS_MACOS)
count
int count
Definition
FontMgrTest.cpp:50
read
static bool read(SkStream *stream, void *buffer, size_t amount)
Definition
SkFontStream.cpp:44
dart::bin::Crypto::GetRandomBytes
static bool GetRandomBytes(intptr_t count, uint8_t *buffer)
crypto.h
fdutils.h
buffer
static const uint8_t buffer[]
Definition
fl_pixel_buffer_texture_test.cc:44
dart
Definition
dart_vm.cc:33
globals.h
signal_blocker.h
TEMP_FAILURE_RETRY
#define TEMP_FAILURE_RETRY(expression)
Definition
signal_blocker.h:58
Generated on Fri Apr 26 2024 06:14:40 for Flutter Engine by
1.9.8