grpc
src
core
lib
gpr
cpu_iphone.cc
Go to the documentation of this file.
1
/*
2
*
3
* Copyright 2015 gRPC authors.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*/
18
19
#include <
grpc/support/port_platform.h
>
20
21
#include <
grpc/support/cpu.h
>
22
23
#ifdef GPR_CPU_IPHONE
24
25
#include <sys/sysctl.h>
26
27
unsigned
gpr_cpu_num_cores
(
void
) {
28
size_t
len
;
29
unsigned
int
ncpu;
30
len
=
sizeof
(ncpu);
31
sysctlbyname(
"hw.ncpu"
, &ncpu, &
len
, NULL, 0);
32
33
return
ncpu;
34
}
35
36
/* Most code that's using this is using it to shard across work queues. So
37
unless profiling shows it's a problem or there appears a way to detect the
38
currently running CPU core, let's have it shard the default way.
39
Note that the interface in cpu.h lets gpr_cpu_num_cores return 0, but doing
40
it makes it impossible for gpr_cpu_current_cpu to satisfy its stated range,
41
and some code might be relying on it. */
42
unsigned
gpr_cpu_current_cpu
(
void
) {
return
0; }
43
44
#endif
/* GPR_CPU_IPHONE */
gpr_cpu_num_cores
GPRAPI unsigned gpr_cpu_num_cores(void)
gpr_cpu_current_cpu
GPRAPI unsigned gpr_cpu_current_cpu(void)
cpu.h
len
int len
Definition:
abseil-cpp/absl/base/internal/low_level_alloc_test.cc:46
port_platform.h
grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:06