diff --git a/.github/labeler.yml b/.github/labeler.yml
index febe52c5b5f..5457214ae6a 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -51,3 +51,7 @@ lang/ruby:
- src/compiler/csharp*
- src/csharp/**
+"disposition/Needs Internal Changes":
+- src/core/lib/event_engine/windows/**
+- src/core/lib/gpr/windows/**
+- src/core/lib/gprpp/windows/**
diff --git a/.github/mergeable.yml b/.github/mergeable.yml
index e82ad328ffa..c82cd2e4739 100644
--- a/.github/mergeable.yml
+++ b/.github/mergeable.yml
@@ -5,6 +5,9 @@ mergeable:
- must_exclude:
regex: '^disposition/DO NOT MERGE'
message: 'Pull request marked not mergeable'
+ - must_exclude:
+ regex: '^disposition/Needs Internal Changes'
+ message: 'Pull request must be cherrypicked. Remove this label when ready to merge.'
- or:
- and:
- must_include:
diff --git a/BUILD b/BUILD
index 9c64b475fa3..d3a2bd648b5 100644
--- a/BUILD
+++ b/BUILD
@@ -641,41 +641,41 @@ grpc_cc_library(
name = "gpr",
srcs = [
"//src/core:lib/gpr/alloc.cc",
- "//src/core:lib/gpr/cpu_iphone.cc",
- "//src/core:lib/gpr/cpu_linux.cc",
- "//src/core:lib/gpr/cpu_posix.cc",
- "//src/core:lib/gpr/cpu_windows.cc",
+ "//src/core:lib/gpr/android/log.cc",
+ "//src/core:lib/gpr/iphone/cpu.cc",
+ "//src/core:lib/gpr/linux/cpu.cc",
+ "//src/core:lib/gpr/linux/log.cc",
"//src/core:lib/gpr/log.cc",
- "//src/core:lib/gpr/log_android.cc",
- "//src/core:lib/gpr/log_linux.cc",
- "//src/core:lib/gpr/log_posix.cc",
- "//src/core:lib/gpr/log_windows.cc",
+ "//src/core:lib/gpr/msys/tmpfile.cc",
+ "//src/core:lib/gpr/posix/cpu.cc",
+ "//src/core:lib/gpr/posix/log.cc",
+ "//src/core:lib/gpr/posix/string.cc",
+ "//src/core:lib/gpr/posix/sync.cc",
+ "//src/core:lib/gpr/posix/time.cc",
+ "//src/core:lib/gpr/posix/tmpfile.cc",
"//src/core:lib/gpr/string.cc",
- "//src/core:lib/gpr/string_posix.cc",
- "//src/core:lib/gpr/string_util_windows.cc",
- "//src/core:lib/gpr/string_windows.cc",
"//src/core:lib/gpr/sync.cc",
"//src/core:lib/gpr/sync_abseil.cc",
- "//src/core:lib/gpr/sync_posix.cc",
- "//src/core:lib/gpr/sync_windows.cc",
"//src/core:lib/gpr/time.cc",
- "//src/core:lib/gpr/time_posix.cc",
"//src/core:lib/gpr/time_precise.cc",
- "//src/core:lib/gpr/time_windows.cc",
- "//src/core:lib/gpr/tmpfile_msys.cc",
- "//src/core:lib/gpr/tmpfile_posix.cc",
- "//src/core:lib/gpr/tmpfile_windows.cc",
+ "//src/core:lib/gpr/windows/cpu.cc",
+ "//src/core:lib/gpr/windows/log.cc",
+ "//src/core:lib/gpr/windows/string.cc",
+ "//src/core:lib/gpr/windows/string_util.cc",
+ "//src/core:lib/gpr/windows/sync.cc",
+ "//src/core:lib/gpr/windows/time.cc",
+ "//src/core:lib/gpr/windows/tmpfile.cc",
"//src/core:lib/gpr/wrap_memcpy.cc",
"//src/core:lib/gprpp/crash.cc",
"//src/core:lib/gprpp/fork.cc",
"//src/core:lib/gprpp/global_config_env.cc",
"//src/core:lib/gprpp/host_port.cc",
"//src/core:lib/gprpp/mpscq.cc",
- "//src/core:lib/gprpp/stat_posix.cc",
- "//src/core:lib/gprpp/stat_windows.cc",
- "//src/core:lib/gprpp/thd_posix.cc",
- "//src/core:lib/gprpp/thd_windows.cc",
+ "//src/core:lib/gprpp/posix/stat.cc",
+ "//src/core:lib/gprpp/posix/thd.cc",
"//src/core:lib/gprpp/time_util.cc",
+ "//src/core:lib/gprpp/windows/stat.cc",
+ "//src/core:lib/gprpp/windows/thd.cc",
],
hdrs = [
"//src/core:lib/gpr/alloc.h",
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 82aa5ff57ab..522a97172ec 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1553,48 +1553,48 @@ endif()
add_library(gpr
src/core/lib/event_engine/thread_local.cc
src/core/lib/gpr/alloc.cc
+ src/core/lib/gpr/android/log.cc
src/core/lib/gpr/atm.cc
- src/core/lib/gpr/cpu_iphone.cc
- src/core/lib/gpr/cpu_linux.cc
- src/core/lib/gpr/cpu_posix.cc
- src/core/lib/gpr/cpu_windows.cc
+ src/core/lib/gpr/iphone/cpu.cc
+ src/core/lib/gpr/linux/cpu.cc
+ src/core/lib/gpr/linux/log.cc
src/core/lib/gpr/log.cc
- src/core/lib/gpr/log_android.cc
- src/core/lib/gpr/log_linux.cc
- src/core/lib/gpr/log_posix.cc
- src/core/lib/gpr/log_windows.cc
+ src/core/lib/gpr/msys/tmpfile.cc
+ src/core/lib/gpr/posix/cpu.cc
+ src/core/lib/gpr/posix/log.cc
+ src/core/lib/gpr/posix/string.cc
+ src/core/lib/gpr/posix/sync.cc
+ src/core/lib/gpr/posix/time.cc
+ src/core/lib/gpr/posix/tmpfile.cc
src/core/lib/gpr/string.cc
- src/core/lib/gpr/string_posix.cc
- src/core/lib/gpr/string_util_windows.cc
- src/core/lib/gpr/string_windows.cc
src/core/lib/gpr/sync.cc
src/core/lib/gpr/sync_abseil.cc
- src/core/lib/gpr/sync_posix.cc
- src/core/lib/gpr/sync_windows.cc
src/core/lib/gpr/time.cc
- src/core/lib/gpr/time_posix.cc
src/core/lib/gpr/time_precise.cc
- src/core/lib/gpr/time_windows.cc
- src/core/lib/gpr/tmpfile_msys.cc
- src/core/lib/gpr/tmpfile_posix.cc
- src/core/lib/gpr/tmpfile_windows.cc
+ src/core/lib/gpr/windows/cpu.cc
+ src/core/lib/gpr/windows/log.cc
+ src/core/lib/gpr/windows/string.cc
+ src/core/lib/gpr/windows/string_util.cc
+ src/core/lib/gpr/windows/sync.cc
+ src/core/lib/gpr/windows/time.cc
+ src/core/lib/gpr/windows/tmpfile.cc
src/core/lib/gpr/wrap_memcpy.cc
src/core/lib/gprpp/crash.cc
- src/core/lib/gprpp/env_linux.cc
- src/core/lib/gprpp/env_posix.cc
- src/core/lib/gprpp/env_windows.cc
src/core/lib/gprpp/examine_stack.cc
src/core/lib/gprpp/fork.cc
src/core/lib/gprpp/global_config_env.cc
src/core/lib/gprpp/host_port.cc
+ src/core/lib/gprpp/linux/env.cc
src/core/lib/gprpp/mpscq.cc
- src/core/lib/gprpp/stat_posix.cc
- src/core/lib/gprpp/stat_windows.cc
+ src/core/lib/gprpp/posix/env.cc
+ src/core/lib/gprpp/posix/stat.cc
+ src/core/lib/gprpp/posix/thd.cc
src/core/lib/gprpp/strerror.cc
src/core/lib/gprpp/tchar.cc
- src/core/lib/gprpp/thd_posix.cc
- src/core/lib/gprpp/thd_windows.cc
src/core/lib/gprpp/time_util.cc
+ src/core/lib/gprpp/windows/env.cc
+ src/core/lib/gprpp/windows/stat.cc
+ src/core/lib/gprpp/windows/thd.cc
)
target_compile_features(gpr PUBLIC cxx_std_14)
diff --git a/Makefile b/Makefile
index 020a579b6dd..17e6b0e07af 100644
--- a/Makefile
+++ b/Makefile
@@ -842,48 +842,48 @@ endif
LIBGPR_SRC = \
src/core/lib/event_engine/thread_local.cc \
src/core/lib/gpr/alloc.cc \
+ src/core/lib/gpr/android/log.cc \
src/core/lib/gpr/atm.cc \
- src/core/lib/gpr/cpu_iphone.cc \
- src/core/lib/gpr/cpu_linux.cc \
- src/core/lib/gpr/cpu_posix.cc \
- src/core/lib/gpr/cpu_windows.cc \
+ src/core/lib/gpr/iphone/cpu.cc \
+ src/core/lib/gpr/linux/cpu.cc \
+ src/core/lib/gpr/linux/log.cc \
src/core/lib/gpr/log.cc \
- src/core/lib/gpr/log_android.cc \
- src/core/lib/gpr/log_linux.cc \
- src/core/lib/gpr/log_posix.cc \
- src/core/lib/gpr/log_windows.cc \
+ src/core/lib/gpr/msys/tmpfile.cc \
+ src/core/lib/gpr/posix/cpu.cc \
+ src/core/lib/gpr/posix/log.cc \
+ src/core/lib/gpr/posix/string.cc \
+ src/core/lib/gpr/posix/sync.cc \
+ src/core/lib/gpr/posix/time.cc \
+ src/core/lib/gpr/posix/tmpfile.cc \
src/core/lib/gpr/string.cc \
- src/core/lib/gpr/string_posix.cc \
- src/core/lib/gpr/string_util_windows.cc \
- src/core/lib/gpr/string_windows.cc \
src/core/lib/gpr/sync.cc \
src/core/lib/gpr/sync_abseil.cc \
- src/core/lib/gpr/sync_posix.cc \
- src/core/lib/gpr/sync_windows.cc \
src/core/lib/gpr/time.cc \
- src/core/lib/gpr/time_posix.cc \
src/core/lib/gpr/time_precise.cc \
- src/core/lib/gpr/time_windows.cc \
- src/core/lib/gpr/tmpfile_msys.cc \
- src/core/lib/gpr/tmpfile_posix.cc \
- src/core/lib/gpr/tmpfile_windows.cc \
+ src/core/lib/gpr/windows/cpu.cc \
+ src/core/lib/gpr/windows/log.cc \
+ src/core/lib/gpr/windows/string.cc \
+ src/core/lib/gpr/windows/string_util.cc \
+ src/core/lib/gpr/windows/sync.cc \
+ src/core/lib/gpr/windows/time.cc \
+ src/core/lib/gpr/windows/tmpfile.cc \
src/core/lib/gpr/wrap_memcpy.cc \
src/core/lib/gprpp/crash.cc \
- src/core/lib/gprpp/env_linux.cc \
- src/core/lib/gprpp/env_posix.cc \
- src/core/lib/gprpp/env_windows.cc \
src/core/lib/gprpp/examine_stack.cc \
src/core/lib/gprpp/fork.cc \
src/core/lib/gprpp/global_config_env.cc \
src/core/lib/gprpp/host_port.cc \
+ src/core/lib/gprpp/linux/env.cc \
src/core/lib/gprpp/mpscq.cc \
- src/core/lib/gprpp/stat_posix.cc \
- src/core/lib/gprpp/stat_windows.cc \
+ src/core/lib/gprpp/posix/env.cc \
+ src/core/lib/gprpp/posix/stat.cc \
+ src/core/lib/gprpp/posix/thd.cc \
src/core/lib/gprpp/strerror.cc \
src/core/lib/gprpp/tchar.cc \
- src/core/lib/gprpp/thd_posix.cc \
- src/core/lib/gprpp/thd_windows.cc \
src/core/lib/gprpp/time_util.cc \
+ src/core/lib/gprpp/windows/env.cc \
+ src/core/lib/gprpp/windows/stat.cc \
+ src/core/lib/gprpp/windows/thd.cc \
PUBLIC_HEADERS_C += \
include/grpc/impl/codegen/atm.h \
diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml
index 8c916906833..513e151b4fc 100644
--- a/build_autogenerated.yaml
+++ b/build_autogenerated.yaml
@@ -199,48 +199,48 @@ libs:
src:
- src/core/lib/event_engine/thread_local.cc
- src/core/lib/gpr/alloc.cc
+ - src/core/lib/gpr/android/log.cc
- src/core/lib/gpr/atm.cc
- - src/core/lib/gpr/cpu_iphone.cc
- - src/core/lib/gpr/cpu_linux.cc
- - src/core/lib/gpr/cpu_posix.cc
- - src/core/lib/gpr/cpu_windows.cc
+ - src/core/lib/gpr/iphone/cpu.cc
+ - src/core/lib/gpr/linux/cpu.cc
+ - src/core/lib/gpr/linux/log.cc
- src/core/lib/gpr/log.cc
- - src/core/lib/gpr/log_android.cc
- - src/core/lib/gpr/log_linux.cc
- - src/core/lib/gpr/log_posix.cc
- - src/core/lib/gpr/log_windows.cc
+ - src/core/lib/gpr/msys/tmpfile.cc
+ - src/core/lib/gpr/posix/cpu.cc
+ - src/core/lib/gpr/posix/log.cc
+ - src/core/lib/gpr/posix/string.cc
+ - src/core/lib/gpr/posix/sync.cc
+ - src/core/lib/gpr/posix/time.cc
+ - src/core/lib/gpr/posix/tmpfile.cc
- src/core/lib/gpr/string.cc
- - src/core/lib/gpr/string_posix.cc
- - src/core/lib/gpr/string_util_windows.cc
- - src/core/lib/gpr/string_windows.cc
- src/core/lib/gpr/sync.cc
- src/core/lib/gpr/sync_abseil.cc
- - src/core/lib/gpr/sync_posix.cc
- - src/core/lib/gpr/sync_windows.cc
- src/core/lib/gpr/time.cc
- - src/core/lib/gpr/time_posix.cc
- src/core/lib/gpr/time_precise.cc
- - src/core/lib/gpr/time_windows.cc
- - src/core/lib/gpr/tmpfile_msys.cc
- - src/core/lib/gpr/tmpfile_posix.cc
- - src/core/lib/gpr/tmpfile_windows.cc
+ - src/core/lib/gpr/windows/cpu.cc
+ - src/core/lib/gpr/windows/log.cc
+ - src/core/lib/gpr/windows/string.cc
+ - src/core/lib/gpr/windows/string_util.cc
+ - src/core/lib/gpr/windows/sync.cc
+ - src/core/lib/gpr/windows/time.cc
+ - src/core/lib/gpr/windows/tmpfile.cc
- src/core/lib/gpr/wrap_memcpy.cc
- src/core/lib/gprpp/crash.cc
- - src/core/lib/gprpp/env_linux.cc
- - src/core/lib/gprpp/env_posix.cc
- - src/core/lib/gprpp/env_windows.cc
- src/core/lib/gprpp/examine_stack.cc
- src/core/lib/gprpp/fork.cc
- src/core/lib/gprpp/global_config_env.cc
- src/core/lib/gprpp/host_port.cc
+ - src/core/lib/gprpp/linux/env.cc
- src/core/lib/gprpp/mpscq.cc
- - src/core/lib/gprpp/stat_posix.cc
- - src/core/lib/gprpp/stat_windows.cc
+ - src/core/lib/gprpp/posix/env.cc
+ - src/core/lib/gprpp/posix/stat.cc
+ - src/core/lib/gprpp/posix/thd.cc
- src/core/lib/gprpp/strerror.cc
- src/core/lib/gprpp/tchar.cc
- - src/core/lib/gprpp/thd_posix.cc
- - src/core/lib/gprpp/thd_windows.cc
- src/core/lib/gprpp/time_util.cc
+ - src/core/lib/gprpp/windows/env.cc
+ - src/core/lib/gprpp/windows/stat.cc
+ - src/core/lib/gprpp/windows/thd.cc
deps:
- absl/base:base
- absl/base:core_headers
diff --git a/config.m4 b/config.m4
index 547f5002775..a72d56c10ff 100644
--- a/config.m4
+++ b/config.m4
@@ -545,53 +545,53 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/experiments/config.cc \
src/core/lib/experiments/experiments.cc \
src/core/lib/gpr/alloc.cc \
+ src/core/lib/gpr/android/log.cc \
src/core/lib/gpr/atm.cc \
- src/core/lib/gpr/cpu_iphone.cc \
- src/core/lib/gpr/cpu_linux.cc \
- src/core/lib/gpr/cpu_posix.cc \
- src/core/lib/gpr/cpu_windows.cc \
+ src/core/lib/gpr/iphone/cpu.cc \
+ src/core/lib/gpr/linux/cpu.cc \
+ src/core/lib/gpr/linux/log.cc \
src/core/lib/gpr/log.cc \
- src/core/lib/gpr/log_android.cc \
- src/core/lib/gpr/log_linux.cc \
- src/core/lib/gpr/log_posix.cc \
- src/core/lib/gpr/log_windows.cc \
+ src/core/lib/gpr/msys/tmpfile.cc \
+ src/core/lib/gpr/posix/cpu.cc \
+ src/core/lib/gpr/posix/log.cc \
+ src/core/lib/gpr/posix/string.cc \
+ src/core/lib/gpr/posix/sync.cc \
+ src/core/lib/gpr/posix/time.cc \
+ src/core/lib/gpr/posix/tmpfile.cc \
src/core/lib/gpr/string.cc \
- src/core/lib/gpr/string_posix.cc \
- src/core/lib/gpr/string_util_windows.cc \
- src/core/lib/gpr/string_windows.cc \
src/core/lib/gpr/sync.cc \
src/core/lib/gpr/sync_abseil.cc \
- src/core/lib/gpr/sync_posix.cc \
- src/core/lib/gpr/sync_windows.cc \
src/core/lib/gpr/time.cc \
- src/core/lib/gpr/time_posix.cc \
src/core/lib/gpr/time_precise.cc \
- src/core/lib/gpr/time_windows.cc \
- src/core/lib/gpr/tmpfile_msys.cc \
- src/core/lib/gpr/tmpfile_posix.cc \
- src/core/lib/gpr/tmpfile_windows.cc \
+ src/core/lib/gpr/windows/cpu.cc \
+ src/core/lib/gpr/windows/log.cc \
+ src/core/lib/gpr/windows/string.cc \
+ src/core/lib/gpr/windows/string_util.cc \
+ src/core/lib/gpr/windows/sync.cc \
+ src/core/lib/gpr/windows/time.cc \
+ src/core/lib/gpr/windows/tmpfile.cc \
src/core/lib/gpr/wrap_memcpy.cc \
src/core/lib/gprpp/crash.cc \
- src/core/lib/gprpp/env_linux.cc \
- src/core/lib/gprpp/env_posix.cc \
- src/core/lib/gprpp/env_windows.cc \
src/core/lib/gprpp/examine_stack.cc \
src/core/lib/gprpp/fork.cc \
src/core/lib/gprpp/global_config_env.cc \
src/core/lib/gprpp/host_port.cc \
+ src/core/lib/gprpp/linux/env.cc \
src/core/lib/gprpp/load_file.cc \
src/core/lib/gprpp/mpscq.cc \
- src/core/lib/gprpp/stat_posix.cc \
- src/core/lib/gprpp/stat_windows.cc \
+ src/core/lib/gprpp/posix/env.cc \
+ src/core/lib/gprpp/posix/stat.cc \
+ src/core/lib/gprpp/posix/thd.cc \
src/core/lib/gprpp/status_helper.cc \
src/core/lib/gprpp/strerror.cc \
src/core/lib/gprpp/tchar.cc \
- src/core/lib/gprpp/thd_posix.cc \
- src/core/lib/gprpp/thd_windows.cc \
src/core/lib/gprpp/time.cc \
src/core/lib/gprpp/time_averaged_stats.cc \
src/core/lib/gprpp/time_util.cc \
src/core/lib/gprpp/validation_errors.cc \
+ src/core/lib/gprpp/windows/env.cc \
+ src/core/lib/gprpp/windows/stat.cc \
+ src/core/lib/gprpp/windows/thd.cc \
src/core/lib/gprpp/work_serializer.cc \
src/core/lib/handshaker/proxy_mapper_registry.cc \
src/core/lib/http/format_request.cc \
@@ -1421,7 +1421,16 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/event_engine/windows)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/experiments)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr)
+ PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr/android)
+ PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr/iphone)
+ PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr/linux)
+ PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr/msys)
+ PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr/posix)
+ PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gpr/windows)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp)
+ PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp/linux)
+ PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp/posix)
+ PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/gprpp/windows)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/handshaker)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/http)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr)
diff --git a/config.w32 b/config.w32
index 92803b84e70..59375a0b674 100644
--- a/config.w32
+++ b/config.w32
@@ -511,53 +511,53 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\experiments\\config.cc " +
"src\\core\\lib\\experiments\\experiments.cc " +
"src\\core\\lib\\gpr\\alloc.cc " +
+ "src\\core\\lib\\gpr\\android\\log.cc " +
"src\\core\\lib\\gpr\\atm.cc " +
- "src\\core\\lib\\gpr\\cpu_iphone.cc " +
- "src\\core\\lib\\gpr\\cpu_linux.cc " +
- "src\\core\\lib\\gpr\\cpu_posix.cc " +
- "src\\core\\lib\\gpr\\cpu_windows.cc " +
+ "src\\core\\lib\\gpr\\iphone\\cpu.cc " +
+ "src\\core\\lib\\gpr\\linux\\cpu.cc " +
+ "src\\core\\lib\\gpr\\linux\\log.cc " +
"src\\core\\lib\\gpr\\log.cc " +
- "src\\core\\lib\\gpr\\log_android.cc " +
- "src\\core\\lib\\gpr\\log_linux.cc " +
- "src\\core\\lib\\gpr\\log_posix.cc " +
- "src\\core\\lib\\gpr\\log_windows.cc " +
+ "src\\core\\lib\\gpr\\msys\\tmpfile.cc " +
+ "src\\core\\lib\\gpr\\posix\\cpu.cc " +
+ "src\\core\\lib\\gpr\\posix\\log.cc " +
+ "src\\core\\lib\\gpr\\posix\\string.cc " +
+ "src\\core\\lib\\gpr\\posix\\sync.cc " +
+ "src\\core\\lib\\gpr\\posix\\time.cc " +
+ "src\\core\\lib\\gpr\\posix\\tmpfile.cc " +
"src\\core\\lib\\gpr\\string.cc " +
- "src\\core\\lib\\gpr\\string_posix.cc " +
- "src\\core\\lib\\gpr\\string_util_windows.cc " +
- "src\\core\\lib\\gpr\\string_windows.cc " +
"src\\core\\lib\\gpr\\sync.cc " +
"src\\core\\lib\\gpr\\sync_abseil.cc " +
- "src\\core\\lib\\gpr\\sync_posix.cc " +
- "src\\core\\lib\\gpr\\sync_windows.cc " +
"src\\core\\lib\\gpr\\time.cc " +
- "src\\core\\lib\\gpr\\time_posix.cc " +
"src\\core\\lib\\gpr\\time_precise.cc " +
- "src\\core\\lib\\gpr\\time_windows.cc " +
- "src\\core\\lib\\gpr\\tmpfile_msys.cc " +
- "src\\core\\lib\\gpr\\tmpfile_posix.cc " +
- "src\\core\\lib\\gpr\\tmpfile_windows.cc " +
+ "src\\core\\lib\\gpr\\windows\\cpu.cc " +
+ "src\\core\\lib\\gpr\\windows\\log.cc " +
+ "src\\core\\lib\\gpr\\windows\\string.cc " +
+ "src\\core\\lib\\gpr\\windows\\string_util.cc " +
+ "src\\core\\lib\\gpr\\windows\\sync.cc " +
+ "src\\core\\lib\\gpr\\windows\\time.cc " +
+ "src\\core\\lib\\gpr\\windows\\tmpfile.cc " +
"src\\core\\lib\\gpr\\wrap_memcpy.cc " +
"src\\core\\lib\\gprpp\\crash.cc " +
- "src\\core\\lib\\gprpp\\env_linux.cc " +
- "src\\core\\lib\\gprpp\\env_posix.cc " +
- "src\\core\\lib\\gprpp\\env_windows.cc " +
"src\\core\\lib\\gprpp\\examine_stack.cc " +
"src\\core\\lib\\gprpp\\fork.cc " +
"src\\core\\lib\\gprpp\\global_config_env.cc " +
"src\\core\\lib\\gprpp\\host_port.cc " +
+ "src\\core\\lib\\gprpp\\linux\\env.cc " +
"src\\core\\lib\\gprpp\\load_file.cc " +
"src\\core\\lib\\gprpp\\mpscq.cc " +
- "src\\core\\lib\\gprpp\\stat_posix.cc " +
- "src\\core\\lib\\gprpp\\stat_windows.cc " +
+ "src\\core\\lib\\gprpp\\posix\\env.cc " +
+ "src\\core\\lib\\gprpp\\posix\\stat.cc " +
+ "src\\core\\lib\\gprpp\\posix\\thd.cc " +
"src\\core\\lib\\gprpp\\status_helper.cc " +
"src\\core\\lib\\gprpp\\strerror.cc " +
"src\\core\\lib\\gprpp\\tchar.cc " +
- "src\\core\\lib\\gprpp\\thd_posix.cc " +
- "src\\core\\lib\\gprpp\\thd_windows.cc " +
"src\\core\\lib\\gprpp\\time.cc " +
"src\\core\\lib\\gprpp\\time_averaged_stats.cc " +
"src\\core\\lib\\gprpp\\time_util.cc " +
"src\\core\\lib\\gprpp\\validation_errors.cc " +
+ "src\\core\\lib\\gprpp\\windows\\env.cc " +
+ "src\\core\\lib\\gprpp\\windows\\stat.cc " +
+ "src\\core\\lib\\gprpp\\windows\\thd.cc " +
"src\\core\\lib\\gprpp\\work_serializer.cc " +
"src\\core\\lib\\handshaker\\proxy_mapper_registry.cc " +
"src\\core\\lib\\http\\format_request.cc " +
@@ -1553,7 +1553,16 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\event_engine\\windows");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\experiments");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr\\android");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr\\iphone");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr\\linux");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr\\msys");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr\\posix");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gpr\\windows");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp\\linux");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp\\posix");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\gprpp\\windows");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\handshaker");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\http");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\iomgr");
diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec
index 8f49976734d..3fc4df96905 100644
--- a/gRPC-Core.podspec
+++ b/gRPC-Core.podspec
@@ -1212,36 +1212,36 @@ Pod::Spec.new do |s|
'src/core/lib/experiments/experiments.h',
'src/core/lib/gpr/alloc.cc',
'src/core/lib/gpr/alloc.h',
+ 'src/core/lib/gpr/android/log.cc',
'src/core/lib/gpr/atm.cc',
- 'src/core/lib/gpr/cpu_iphone.cc',
- 'src/core/lib/gpr/cpu_linux.cc',
- 'src/core/lib/gpr/cpu_posix.cc',
- 'src/core/lib/gpr/cpu_windows.cc',
+ 'src/core/lib/gpr/iphone/cpu.cc',
+ 'src/core/lib/gpr/linux/cpu.cc',
+ 'src/core/lib/gpr/linux/log.cc',
'src/core/lib/gpr/log.cc',
- 'src/core/lib/gpr/log_android.cc',
- 'src/core/lib/gpr/log_linux.cc',
- 'src/core/lib/gpr/log_posix.cc',
- 'src/core/lib/gpr/log_windows.cc',
+ 'src/core/lib/gpr/msys/tmpfile.cc',
+ 'src/core/lib/gpr/posix/cpu.cc',
+ 'src/core/lib/gpr/posix/log.cc',
+ 'src/core/lib/gpr/posix/string.cc',
+ 'src/core/lib/gpr/posix/sync.cc',
+ 'src/core/lib/gpr/posix/time.cc',
+ 'src/core/lib/gpr/posix/tmpfile.cc',
'src/core/lib/gpr/spinlock.h',
'src/core/lib/gpr/string.cc',
'src/core/lib/gpr/string.h',
- 'src/core/lib/gpr/string_posix.cc',
- 'src/core/lib/gpr/string_util_windows.cc',
- 'src/core/lib/gpr/string_windows.cc',
'src/core/lib/gpr/sync.cc',
'src/core/lib/gpr/sync_abseil.cc',
- 'src/core/lib/gpr/sync_posix.cc',
- 'src/core/lib/gpr/sync_windows.cc',
'src/core/lib/gpr/time.cc',
- 'src/core/lib/gpr/time_posix.cc',
'src/core/lib/gpr/time_precise.cc',
'src/core/lib/gpr/time_precise.h',
- 'src/core/lib/gpr/time_windows.cc',
'src/core/lib/gpr/tmpfile.h',
- 'src/core/lib/gpr/tmpfile_msys.cc',
- 'src/core/lib/gpr/tmpfile_posix.cc',
- 'src/core/lib/gpr/tmpfile_windows.cc',
'src/core/lib/gpr/useful.h',
+ 'src/core/lib/gpr/windows/cpu.cc',
+ 'src/core/lib/gpr/windows/log.cc',
+ 'src/core/lib/gpr/windows/string.cc',
+ 'src/core/lib/gpr/windows/string_util.cc',
+ 'src/core/lib/gpr/windows/sync.cc',
+ 'src/core/lib/gpr/windows/time.cc',
+ 'src/core/lib/gpr/windows/tmpfile.cc',
'src/core/lib/gpr/wrap_memcpy.cc',
'src/core/lib/gprpp/atomic_utils.h',
'src/core/lib/gprpp/bitset.h',
@@ -1253,9 +1253,6 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/debug_location.h',
'src/core/lib/gprpp/dual_ref_counted.h',
'src/core/lib/gprpp/env.h',
- 'src/core/lib/gprpp/env_linux.cc',
- 'src/core/lib/gprpp/env_posix.cc',
- 'src/core/lib/gprpp/env_windows.cc',
'src/core/lib/gprpp/examine_stack.cc',
'src/core/lib/gprpp/examine_stack.h',
'src/core/lib/gprpp/fork.cc',
@@ -1267,6 +1264,7 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/global_config_generic.h',
'src/core/lib/gprpp/host_port.cc',
'src/core/lib/gprpp/host_port.h',
+ 'src/core/lib/gprpp/linux/env.cc',
'src/core/lib/gprpp/load_file.cc',
'src/core/lib/gprpp/load_file.h',
'src/core/lib/gprpp/manual_constructor.h',
@@ -1280,13 +1278,14 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/overload.h',
'src/core/lib/gprpp/packed_table.h',
'src/core/lib/gprpp/per_cpu.h',
+ 'src/core/lib/gprpp/posix/env.cc',
+ 'src/core/lib/gprpp/posix/stat.cc',
+ 'src/core/lib/gprpp/posix/thd.cc',
'src/core/lib/gprpp/ref_counted.h',
'src/core/lib/gprpp/ref_counted_ptr.h',
'src/core/lib/gprpp/single_set_ptr.h',
'src/core/lib/gprpp/sorted_pack.h',
'src/core/lib/gprpp/stat.h',
- 'src/core/lib/gprpp/stat_posix.cc',
- 'src/core/lib/gprpp/stat_windows.cc',
'src/core/lib/gprpp/status_helper.cc',
'src/core/lib/gprpp/status_helper.h',
'src/core/lib/gprpp/strerror.cc',
@@ -1296,8 +1295,6 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/tchar.cc',
'src/core/lib/gprpp/tchar.h',
'src/core/lib/gprpp/thd.h',
- 'src/core/lib/gprpp/thd_posix.cc',
- 'src/core/lib/gprpp/thd_windows.cc',
'src/core/lib/gprpp/time.cc',
'src/core/lib/gprpp/time.h',
'src/core/lib/gprpp/time_averaged_stats.cc',
@@ -1307,6 +1304,9 @@ Pod::Spec.new do |s|
'src/core/lib/gprpp/unique_type_name.h',
'src/core/lib/gprpp/validation_errors.cc',
'src/core/lib/gprpp/validation_errors.h',
+ 'src/core/lib/gprpp/windows/env.cc',
+ 'src/core/lib/gprpp/windows/stat.cc',
+ 'src/core/lib/gprpp/windows/thd.cc',
'src/core/lib/gprpp/work_serializer.cc',
'src/core/lib/gprpp/work_serializer.h',
'src/core/lib/handshaker/proxy_mapper.h',
diff --git a/grpc.gemspec b/grpc.gemspec
index 9c82772538d..53d73afab51 100644
--- a/grpc.gemspec
+++ b/grpc.gemspec
@@ -1121,36 +1121,36 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/experiments/experiments.h )
s.files += %w( src/core/lib/gpr/alloc.cc )
s.files += %w( src/core/lib/gpr/alloc.h )
+ s.files += %w( src/core/lib/gpr/android/log.cc )
s.files += %w( src/core/lib/gpr/atm.cc )
- s.files += %w( src/core/lib/gpr/cpu_iphone.cc )
- s.files += %w( src/core/lib/gpr/cpu_linux.cc )
- s.files += %w( src/core/lib/gpr/cpu_posix.cc )
- s.files += %w( src/core/lib/gpr/cpu_windows.cc )
+ s.files += %w( src/core/lib/gpr/iphone/cpu.cc )
+ s.files += %w( src/core/lib/gpr/linux/cpu.cc )
+ s.files += %w( src/core/lib/gpr/linux/log.cc )
s.files += %w( src/core/lib/gpr/log.cc )
- s.files += %w( src/core/lib/gpr/log_android.cc )
- s.files += %w( src/core/lib/gpr/log_linux.cc )
- s.files += %w( src/core/lib/gpr/log_posix.cc )
- s.files += %w( src/core/lib/gpr/log_windows.cc )
+ s.files += %w( src/core/lib/gpr/msys/tmpfile.cc )
+ s.files += %w( src/core/lib/gpr/posix/cpu.cc )
+ s.files += %w( src/core/lib/gpr/posix/log.cc )
+ s.files += %w( src/core/lib/gpr/posix/string.cc )
+ s.files += %w( src/core/lib/gpr/posix/sync.cc )
+ s.files += %w( src/core/lib/gpr/posix/time.cc )
+ s.files += %w( src/core/lib/gpr/posix/tmpfile.cc )
s.files += %w( src/core/lib/gpr/spinlock.h )
s.files += %w( src/core/lib/gpr/string.cc )
s.files += %w( src/core/lib/gpr/string.h )
- s.files += %w( src/core/lib/gpr/string_posix.cc )
- s.files += %w( src/core/lib/gpr/string_util_windows.cc )
- s.files += %w( src/core/lib/gpr/string_windows.cc )
s.files += %w( src/core/lib/gpr/sync.cc )
s.files += %w( src/core/lib/gpr/sync_abseil.cc )
- s.files += %w( src/core/lib/gpr/sync_posix.cc )
- s.files += %w( src/core/lib/gpr/sync_windows.cc )
s.files += %w( src/core/lib/gpr/time.cc )
- s.files += %w( src/core/lib/gpr/time_posix.cc )
s.files += %w( src/core/lib/gpr/time_precise.cc )
s.files += %w( src/core/lib/gpr/time_precise.h )
- s.files += %w( src/core/lib/gpr/time_windows.cc )
s.files += %w( src/core/lib/gpr/tmpfile.h )
- s.files += %w( src/core/lib/gpr/tmpfile_msys.cc )
- s.files += %w( src/core/lib/gpr/tmpfile_posix.cc )
- s.files += %w( src/core/lib/gpr/tmpfile_windows.cc )
s.files += %w( src/core/lib/gpr/useful.h )
+ s.files += %w( src/core/lib/gpr/windows/cpu.cc )
+ s.files += %w( src/core/lib/gpr/windows/log.cc )
+ s.files += %w( src/core/lib/gpr/windows/string.cc )
+ s.files += %w( src/core/lib/gpr/windows/string_util.cc )
+ s.files += %w( src/core/lib/gpr/windows/sync.cc )
+ s.files += %w( src/core/lib/gpr/windows/time.cc )
+ s.files += %w( src/core/lib/gpr/windows/tmpfile.cc )
s.files += %w( src/core/lib/gpr/wrap_memcpy.cc )
s.files += %w( src/core/lib/gprpp/atomic_utils.h )
s.files += %w( src/core/lib/gprpp/bitset.h )
@@ -1162,9 +1162,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/gprpp/debug_location.h )
s.files += %w( src/core/lib/gprpp/dual_ref_counted.h )
s.files += %w( src/core/lib/gprpp/env.h )
- s.files += %w( src/core/lib/gprpp/env_linux.cc )
- s.files += %w( src/core/lib/gprpp/env_posix.cc )
- s.files += %w( src/core/lib/gprpp/env_windows.cc )
s.files += %w( src/core/lib/gprpp/examine_stack.cc )
s.files += %w( src/core/lib/gprpp/examine_stack.h )
s.files += %w( src/core/lib/gprpp/fork.cc )
@@ -1176,6 +1173,7 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/gprpp/global_config_generic.h )
s.files += %w( src/core/lib/gprpp/host_port.cc )
s.files += %w( src/core/lib/gprpp/host_port.h )
+ s.files += %w( src/core/lib/gprpp/linux/env.cc )
s.files += %w( src/core/lib/gprpp/load_file.cc )
s.files += %w( src/core/lib/gprpp/load_file.h )
s.files += %w( src/core/lib/gprpp/manual_constructor.h )
@@ -1189,13 +1187,14 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/gprpp/overload.h )
s.files += %w( src/core/lib/gprpp/packed_table.h )
s.files += %w( src/core/lib/gprpp/per_cpu.h )
+ s.files += %w( src/core/lib/gprpp/posix/env.cc )
+ s.files += %w( src/core/lib/gprpp/posix/stat.cc )
+ s.files += %w( src/core/lib/gprpp/posix/thd.cc )
s.files += %w( src/core/lib/gprpp/ref_counted.h )
s.files += %w( src/core/lib/gprpp/ref_counted_ptr.h )
s.files += %w( src/core/lib/gprpp/single_set_ptr.h )
s.files += %w( src/core/lib/gprpp/sorted_pack.h )
s.files += %w( src/core/lib/gprpp/stat.h )
- s.files += %w( src/core/lib/gprpp/stat_posix.cc )
- s.files += %w( src/core/lib/gprpp/stat_windows.cc )
s.files += %w( src/core/lib/gprpp/status_helper.cc )
s.files += %w( src/core/lib/gprpp/status_helper.h )
s.files += %w( src/core/lib/gprpp/strerror.cc )
@@ -1205,8 +1204,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/gprpp/tchar.cc )
s.files += %w( src/core/lib/gprpp/tchar.h )
s.files += %w( src/core/lib/gprpp/thd.h )
- s.files += %w( src/core/lib/gprpp/thd_posix.cc )
- s.files += %w( src/core/lib/gprpp/thd_windows.cc )
s.files += %w( src/core/lib/gprpp/time.cc )
s.files += %w( src/core/lib/gprpp/time.h )
s.files += %w( src/core/lib/gprpp/time_averaged_stats.cc )
@@ -1216,6 +1213,9 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/gprpp/unique_type_name.h )
s.files += %w( src/core/lib/gprpp/validation_errors.cc )
s.files += %w( src/core/lib/gprpp/validation_errors.h )
+ s.files += %w( src/core/lib/gprpp/windows/env.cc )
+ s.files += %w( src/core/lib/gprpp/windows/stat.cc )
+ s.files += %w( src/core/lib/gprpp/windows/thd.cc )
s.files += %w( src/core/lib/gprpp/work_serializer.cc )
s.files += %w( src/core/lib/gprpp/work_serializer.h )
s.files += %w( src/core/lib/handshaker/proxy_mapper.h )
diff --git a/grpc.gyp b/grpc.gyp
index 5ed7ecf0c1d..b7da1e9e5da 100644
--- a/grpc.gyp
+++ b/grpc.gyp
@@ -307,48 +307,48 @@
'sources': [
'src/core/lib/event_engine/thread_local.cc',
'src/core/lib/gpr/alloc.cc',
+ 'src/core/lib/gpr/android/log.cc',
'src/core/lib/gpr/atm.cc',
- 'src/core/lib/gpr/cpu_iphone.cc',
- 'src/core/lib/gpr/cpu_linux.cc',
- 'src/core/lib/gpr/cpu_posix.cc',
- 'src/core/lib/gpr/cpu_windows.cc',
+ 'src/core/lib/gpr/iphone/cpu.cc',
+ 'src/core/lib/gpr/linux/cpu.cc',
+ 'src/core/lib/gpr/linux/log.cc',
'src/core/lib/gpr/log.cc',
- 'src/core/lib/gpr/log_android.cc',
- 'src/core/lib/gpr/log_linux.cc',
- 'src/core/lib/gpr/log_posix.cc',
- 'src/core/lib/gpr/log_windows.cc',
+ 'src/core/lib/gpr/msys/tmpfile.cc',
+ 'src/core/lib/gpr/posix/cpu.cc',
+ 'src/core/lib/gpr/posix/log.cc',
+ 'src/core/lib/gpr/posix/string.cc',
+ 'src/core/lib/gpr/posix/sync.cc',
+ 'src/core/lib/gpr/posix/time.cc',
+ 'src/core/lib/gpr/posix/tmpfile.cc',
'src/core/lib/gpr/string.cc',
- 'src/core/lib/gpr/string_posix.cc',
- 'src/core/lib/gpr/string_util_windows.cc',
- 'src/core/lib/gpr/string_windows.cc',
'src/core/lib/gpr/sync.cc',
'src/core/lib/gpr/sync_abseil.cc',
- 'src/core/lib/gpr/sync_posix.cc',
- 'src/core/lib/gpr/sync_windows.cc',
'src/core/lib/gpr/time.cc',
- 'src/core/lib/gpr/time_posix.cc',
'src/core/lib/gpr/time_precise.cc',
- 'src/core/lib/gpr/time_windows.cc',
- 'src/core/lib/gpr/tmpfile_msys.cc',
- 'src/core/lib/gpr/tmpfile_posix.cc',
- 'src/core/lib/gpr/tmpfile_windows.cc',
+ 'src/core/lib/gpr/windows/cpu.cc',
+ 'src/core/lib/gpr/windows/log.cc',
+ 'src/core/lib/gpr/windows/string.cc',
+ 'src/core/lib/gpr/windows/string_util.cc',
+ 'src/core/lib/gpr/windows/sync.cc',
+ 'src/core/lib/gpr/windows/time.cc',
+ 'src/core/lib/gpr/windows/tmpfile.cc',
'src/core/lib/gpr/wrap_memcpy.cc',
'src/core/lib/gprpp/crash.cc',
- 'src/core/lib/gprpp/env_linux.cc',
- 'src/core/lib/gprpp/env_posix.cc',
- 'src/core/lib/gprpp/env_windows.cc',
'src/core/lib/gprpp/examine_stack.cc',
'src/core/lib/gprpp/fork.cc',
'src/core/lib/gprpp/global_config_env.cc',
'src/core/lib/gprpp/host_port.cc',
+ 'src/core/lib/gprpp/linux/env.cc',
'src/core/lib/gprpp/mpscq.cc',
- 'src/core/lib/gprpp/stat_posix.cc',
- 'src/core/lib/gprpp/stat_windows.cc',
+ 'src/core/lib/gprpp/posix/env.cc',
+ 'src/core/lib/gprpp/posix/stat.cc',
+ 'src/core/lib/gprpp/posix/thd.cc',
'src/core/lib/gprpp/strerror.cc',
'src/core/lib/gprpp/tchar.cc',
- 'src/core/lib/gprpp/thd_posix.cc',
- 'src/core/lib/gprpp/thd_windows.cc',
'src/core/lib/gprpp/time_util.cc',
+ 'src/core/lib/gprpp/windows/env.cc',
+ 'src/core/lib/gprpp/windows/stat.cc',
+ 'src/core/lib/gprpp/windows/thd.cc',
],
},
{
diff --git a/package.xml b/package.xml
index 5cba8e170de..ab590e51b26 100644
--- a/package.xml
+++ b/package.xml
@@ -1103,36 +1103,36 @@
+
-
-
-
-
+
+
+
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -1144,9 +1144,6 @@
-
-
-
@@ -1158,6 +1155,7 @@
+
@@ -1171,13 +1169,14 @@
+
+
+
-
-
@@ -1187,8 +1186,6 @@
-
-
@@ -1198,6 +1195,9 @@
+
+
+
diff --git a/src/core/BUILD b/src/core/BUILD
index 02129412bc4..7a193599ed8 100644
--- a/src/core/BUILD
+++ b/src/core/BUILD
@@ -210,9 +210,9 @@ grpc_cc_library(
grpc_cc_library(
name = "env",
srcs = [
- "lib/gprpp/env_linux.cc",
- "lib/gprpp/env_posix.cc",
- "lib/gprpp/env_windows.cc",
+ "lib/gprpp/linux/env.cc",
+ "lib/gprpp/posix/env.cc",
+ "lib/gprpp/windows/env.cc",
],
hdrs = [
"lib/gprpp/env.h",
diff --git a/src/core/lib/gpr/log_android.cc b/src/core/lib/gpr/android/log.cc
similarity index 100%
rename from src/core/lib/gpr/log_android.cc
rename to src/core/lib/gpr/android/log.cc
diff --git a/src/core/lib/gpr/cpu_iphone.cc b/src/core/lib/gpr/iphone/cpu.cc
similarity index 100%
rename from src/core/lib/gpr/cpu_iphone.cc
rename to src/core/lib/gpr/iphone/cpu.cc
diff --git a/src/core/lib/gpr/cpu_linux.cc b/src/core/lib/gpr/linux/cpu.cc
similarity index 100%
rename from src/core/lib/gpr/cpu_linux.cc
rename to src/core/lib/gpr/linux/cpu.cc
diff --git a/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/linux/log.cc
similarity index 100%
rename from src/core/lib/gpr/log_linux.cc
rename to src/core/lib/gpr/linux/log.cc
diff --git a/src/core/lib/gpr/tmpfile_msys.cc b/src/core/lib/gpr/msys/tmpfile.cc
similarity index 100%
rename from src/core/lib/gpr/tmpfile_msys.cc
rename to src/core/lib/gpr/msys/tmpfile.cc
diff --git a/src/core/lib/gpr/cpu_posix.cc b/src/core/lib/gpr/posix/cpu.cc
similarity index 100%
rename from src/core/lib/gpr/cpu_posix.cc
rename to src/core/lib/gpr/posix/cpu.cc
diff --git a/src/core/lib/gpr/log_posix.cc b/src/core/lib/gpr/posix/log.cc
similarity index 100%
rename from src/core/lib/gpr/log_posix.cc
rename to src/core/lib/gpr/posix/log.cc
diff --git a/src/core/lib/gpr/string_posix.cc b/src/core/lib/gpr/posix/string.cc
similarity index 100%
rename from src/core/lib/gpr/string_posix.cc
rename to src/core/lib/gpr/posix/string.cc
diff --git a/src/core/lib/gpr/sync_posix.cc b/src/core/lib/gpr/posix/sync.cc
similarity index 100%
rename from src/core/lib/gpr/sync_posix.cc
rename to src/core/lib/gpr/posix/sync.cc
diff --git a/src/core/lib/gpr/time_posix.cc b/src/core/lib/gpr/posix/time.cc
similarity index 100%
rename from src/core/lib/gpr/time_posix.cc
rename to src/core/lib/gpr/posix/time.cc
diff --git a/src/core/lib/gpr/tmpfile_posix.cc b/src/core/lib/gpr/posix/tmpfile.cc
similarity index 100%
rename from src/core/lib/gpr/tmpfile_posix.cc
rename to src/core/lib/gpr/posix/tmpfile.cc
diff --git a/src/core/lib/gpr/cpu_windows.cc b/src/core/lib/gpr/windows/cpu.cc
similarity index 100%
rename from src/core/lib/gpr/cpu_windows.cc
rename to src/core/lib/gpr/windows/cpu.cc
diff --git a/src/core/lib/gpr/log_windows.cc b/src/core/lib/gpr/windows/log.cc
similarity index 100%
rename from src/core/lib/gpr/log_windows.cc
rename to src/core/lib/gpr/windows/log.cc
diff --git a/src/core/lib/gpr/string_windows.cc b/src/core/lib/gpr/windows/string.cc
similarity index 100%
rename from src/core/lib/gpr/string_windows.cc
rename to src/core/lib/gpr/windows/string.cc
diff --git a/src/core/lib/gpr/string_util_windows.cc b/src/core/lib/gpr/windows/string_util.cc
similarity index 100%
rename from src/core/lib/gpr/string_util_windows.cc
rename to src/core/lib/gpr/windows/string_util.cc
diff --git a/src/core/lib/gpr/sync_windows.cc b/src/core/lib/gpr/windows/sync.cc
similarity index 100%
rename from src/core/lib/gpr/sync_windows.cc
rename to src/core/lib/gpr/windows/sync.cc
diff --git a/src/core/lib/gpr/time_windows.cc b/src/core/lib/gpr/windows/time.cc
similarity index 100%
rename from src/core/lib/gpr/time_windows.cc
rename to src/core/lib/gpr/windows/time.cc
diff --git a/src/core/lib/gpr/tmpfile_windows.cc b/src/core/lib/gpr/windows/tmpfile.cc
similarity index 100%
rename from src/core/lib/gpr/tmpfile_windows.cc
rename to src/core/lib/gpr/windows/tmpfile.cc
diff --git a/src/core/lib/gprpp/env_linux.cc b/src/core/lib/gprpp/linux/env.cc
similarity index 100%
rename from src/core/lib/gprpp/env_linux.cc
rename to src/core/lib/gprpp/linux/env.cc
diff --git a/src/core/lib/gprpp/env_posix.cc b/src/core/lib/gprpp/posix/env.cc
similarity index 100%
rename from src/core/lib/gprpp/env_posix.cc
rename to src/core/lib/gprpp/posix/env.cc
diff --git a/src/core/lib/gprpp/stat_posix.cc b/src/core/lib/gprpp/posix/stat.cc
similarity index 100%
rename from src/core/lib/gprpp/stat_posix.cc
rename to src/core/lib/gprpp/posix/stat.cc
diff --git a/src/core/lib/gprpp/thd_posix.cc b/src/core/lib/gprpp/posix/thd.cc
similarity index 100%
rename from src/core/lib/gprpp/thd_posix.cc
rename to src/core/lib/gprpp/posix/thd.cc
diff --git a/src/core/lib/gprpp/env_windows.cc b/src/core/lib/gprpp/windows/env.cc
similarity index 100%
rename from src/core/lib/gprpp/env_windows.cc
rename to src/core/lib/gprpp/windows/env.cc
diff --git a/src/core/lib/gprpp/stat_windows.cc b/src/core/lib/gprpp/windows/stat.cc
similarity index 100%
rename from src/core/lib/gprpp/stat_windows.cc
rename to src/core/lib/gprpp/windows/stat.cc
diff --git a/src/core/lib/gprpp/thd_windows.cc b/src/core/lib/gprpp/windows/thd.cc
similarity index 100%
rename from src/core/lib/gprpp/thd_windows.cc
rename to src/core/lib/gprpp/windows/thd.cc
diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py
index bfb3834fa52..8a7c61c2bc5 100644
--- a/src/python/grpcio/grpc_core_dependencies.py
+++ b/src/python/grpcio/grpc_core_dependencies.py
@@ -520,53 +520,53 @@ CORE_SOURCE_FILES = [
'src/core/lib/experiments/config.cc',
'src/core/lib/experiments/experiments.cc',
'src/core/lib/gpr/alloc.cc',
+ 'src/core/lib/gpr/android/log.cc',
'src/core/lib/gpr/atm.cc',
- 'src/core/lib/gpr/cpu_iphone.cc',
- 'src/core/lib/gpr/cpu_linux.cc',
- 'src/core/lib/gpr/cpu_posix.cc',
- 'src/core/lib/gpr/cpu_windows.cc',
+ 'src/core/lib/gpr/iphone/cpu.cc',
+ 'src/core/lib/gpr/linux/cpu.cc',
+ 'src/core/lib/gpr/linux/log.cc',
'src/core/lib/gpr/log.cc',
- 'src/core/lib/gpr/log_android.cc',
- 'src/core/lib/gpr/log_linux.cc',
- 'src/core/lib/gpr/log_posix.cc',
- 'src/core/lib/gpr/log_windows.cc',
+ 'src/core/lib/gpr/msys/tmpfile.cc',
+ 'src/core/lib/gpr/posix/cpu.cc',
+ 'src/core/lib/gpr/posix/log.cc',
+ 'src/core/lib/gpr/posix/string.cc',
+ 'src/core/lib/gpr/posix/sync.cc',
+ 'src/core/lib/gpr/posix/time.cc',
+ 'src/core/lib/gpr/posix/tmpfile.cc',
'src/core/lib/gpr/string.cc',
- 'src/core/lib/gpr/string_posix.cc',
- 'src/core/lib/gpr/string_util_windows.cc',
- 'src/core/lib/gpr/string_windows.cc',
'src/core/lib/gpr/sync.cc',
'src/core/lib/gpr/sync_abseil.cc',
- 'src/core/lib/gpr/sync_posix.cc',
- 'src/core/lib/gpr/sync_windows.cc',
'src/core/lib/gpr/time.cc',
- 'src/core/lib/gpr/time_posix.cc',
'src/core/lib/gpr/time_precise.cc',
- 'src/core/lib/gpr/time_windows.cc',
- 'src/core/lib/gpr/tmpfile_msys.cc',
- 'src/core/lib/gpr/tmpfile_posix.cc',
- 'src/core/lib/gpr/tmpfile_windows.cc',
+ 'src/core/lib/gpr/windows/cpu.cc',
+ 'src/core/lib/gpr/windows/log.cc',
+ 'src/core/lib/gpr/windows/string.cc',
+ 'src/core/lib/gpr/windows/string_util.cc',
+ 'src/core/lib/gpr/windows/sync.cc',
+ 'src/core/lib/gpr/windows/time.cc',
+ 'src/core/lib/gpr/windows/tmpfile.cc',
'src/core/lib/gpr/wrap_memcpy.cc',
'src/core/lib/gprpp/crash.cc',
- 'src/core/lib/gprpp/env_linux.cc',
- 'src/core/lib/gprpp/env_posix.cc',
- 'src/core/lib/gprpp/env_windows.cc',
'src/core/lib/gprpp/examine_stack.cc',
'src/core/lib/gprpp/fork.cc',
'src/core/lib/gprpp/global_config_env.cc',
'src/core/lib/gprpp/host_port.cc',
+ 'src/core/lib/gprpp/linux/env.cc',
'src/core/lib/gprpp/load_file.cc',
'src/core/lib/gprpp/mpscq.cc',
- 'src/core/lib/gprpp/stat_posix.cc',
- 'src/core/lib/gprpp/stat_windows.cc',
+ 'src/core/lib/gprpp/posix/env.cc',
+ 'src/core/lib/gprpp/posix/stat.cc',
+ 'src/core/lib/gprpp/posix/thd.cc',
'src/core/lib/gprpp/status_helper.cc',
'src/core/lib/gprpp/strerror.cc',
'src/core/lib/gprpp/tchar.cc',
- 'src/core/lib/gprpp/thd_posix.cc',
- 'src/core/lib/gprpp/thd_windows.cc',
'src/core/lib/gprpp/time.cc',
'src/core/lib/gprpp/time_averaged_stats.cc',
'src/core/lib/gprpp/time_util.cc',
'src/core/lib/gprpp/validation_errors.cc',
+ 'src/core/lib/gprpp/windows/env.cc',
+ 'src/core/lib/gprpp/windows/stat.cc',
+ 'src/core/lib/gprpp/windows/thd.cc',
'src/core/lib/gprpp/work_serializer.cc',
'src/core/lib/handshaker/proxy_mapper_registry.cc',
'src/core/lib/http/format_request.cc',
diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal
index 52f7208b19e..fca829fa5a2 100644
--- a/tools/doxygen/Doxyfile.c++.internal
+++ b/tools/doxygen/Doxyfile.c++.internal
@@ -2116,36 +2116,36 @@ src/core/lib/experiments/experiments.cc \
src/core/lib/experiments/experiments.h \
src/core/lib/gpr/alloc.cc \
src/core/lib/gpr/alloc.h \
+src/core/lib/gpr/android/log.cc \
src/core/lib/gpr/atm.cc \
-src/core/lib/gpr/cpu_iphone.cc \
-src/core/lib/gpr/cpu_linux.cc \
-src/core/lib/gpr/cpu_posix.cc \
-src/core/lib/gpr/cpu_windows.cc \
+src/core/lib/gpr/iphone/cpu.cc \
+src/core/lib/gpr/linux/cpu.cc \
+src/core/lib/gpr/linux/log.cc \
src/core/lib/gpr/log.cc \
-src/core/lib/gpr/log_android.cc \
-src/core/lib/gpr/log_linux.cc \
-src/core/lib/gpr/log_posix.cc \
-src/core/lib/gpr/log_windows.cc \
+src/core/lib/gpr/msys/tmpfile.cc \
+src/core/lib/gpr/posix/cpu.cc \
+src/core/lib/gpr/posix/log.cc \
+src/core/lib/gpr/posix/string.cc \
+src/core/lib/gpr/posix/sync.cc \
+src/core/lib/gpr/posix/time.cc \
+src/core/lib/gpr/posix/tmpfile.cc \
src/core/lib/gpr/spinlock.h \
src/core/lib/gpr/string.cc \
src/core/lib/gpr/string.h \
-src/core/lib/gpr/string_posix.cc \
-src/core/lib/gpr/string_util_windows.cc \
-src/core/lib/gpr/string_windows.cc \
src/core/lib/gpr/sync.cc \
src/core/lib/gpr/sync_abseil.cc \
-src/core/lib/gpr/sync_posix.cc \
-src/core/lib/gpr/sync_windows.cc \
src/core/lib/gpr/time.cc \
-src/core/lib/gpr/time_posix.cc \
src/core/lib/gpr/time_precise.cc \
src/core/lib/gpr/time_precise.h \
-src/core/lib/gpr/time_windows.cc \
src/core/lib/gpr/tmpfile.h \
-src/core/lib/gpr/tmpfile_msys.cc \
-src/core/lib/gpr/tmpfile_posix.cc \
-src/core/lib/gpr/tmpfile_windows.cc \
src/core/lib/gpr/useful.h \
+src/core/lib/gpr/windows/cpu.cc \
+src/core/lib/gpr/windows/log.cc \
+src/core/lib/gpr/windows/string.cc \
+src/core/lib/gpr/windows/string_util.cc \
+src/core/lib/gpr/windows/sync.cc \
+src/core/lib/gpr/windows/time.cc \
+src/core/lib/gpr/windows/tmpfile.cc \
src/core/lib/gpr/wrap_memcpy.cc \
src/core/lib/gprpp/atomic_utils.h \
src/core/lib/gprpp/bitset.h \
@@ -2157,9 +2157,6 @@ src/core/lib/gprpp/crash.h \
src/core/lib/gprpp/debug_location.h \
src/core/lib/gprpp/dual_ref_counted.h \
src/core/lib/gprpp/env.h \
-src/core/lib/gprpp/env_linux.cc \
-src/core/lib/gprpp/env_posix.cc \
-src/core/lib/gprpp/env_windows.cc \
src/core/lib/gprpp/examine_stack.cc \
src/core/lib/gprpp/examine_stack.h \
src/core/lib/gprpp/fork.cc \
@@ -2171,6 +2168,7 @@ src/core/lib/gprpp/global_config_env.h \
src/core/lib/gprpp/global_config_generic.h \
src/core/lib/gprpp/host_port.cc \
src/core/lib/gprpp/host_port.h \
+src/core/lib/gprpp/linux/env.cc \
src/core/lib/gprpp/load_file.cc \
src/core/lib/gprpp/load_file.h \
src/core/lib/gprpp/manual_constructor.h \
@@ -2184,13 +2182,14 @@ src/core/lib/gprpp/orphanable.h \
src/core/lib/gprpp/overload.h \
src/core/lib/gprpp/packed_table.h \
src/core/lib/gprpp/per_cpu.h \
+src/core/lib/gprpp/posix/env.cc \
+src/core/lib/gprpp/posix/stat.cc \
+src/core/lib/gprpp/posix/thd.cc \
src/core/lib/gprpp/ref_counted.h \
src/core/lib/gprpp/ref_counted_ptr.h \
src/core/lib/gprpp/single_set_ptr.h \
src/core/lib/gprpp/sorted_pack.h \
src/core/lib/gprpp/stat.h \
-src/core/lib/gprpp/stat_posix.cc \
-src/core/lib/gprpp/stat_windows.cc \
src/core/lib/gprpp/status_helper.cc \
src/core/lib/gprpp/status_helper.h \
src/core/lib/gprpp/strerror.cc \
@@ -2200,8 +2199,6 @@ src/core/lib/gprpp/table.h \
src/core/lib/gprpp/tchar.cc \
src/core/lib/gprpp/tchar.h \
src/core/lib/gprpp/thd.h \
-src/core/lib/gprpp/thd_posix.cc \
-src/core/lib/gprpp/thd_windows.cc \
src/core/lib/gprpp/time.cc \
src/core/lib/gprpp/time.h \
src/core/lib/gprpp/time_averaged_stats.cc \
@@ -2211,6 +2208,9 @@ src/core/lib/gprpp/time_util.h \
src/core/lib/gprpp/unique_type_name.h \
src/core/lib/gprpp/validation_errors.cc \
src/core/lib/gprpp/validation_errors.h \
+src/core/lib/gprpp/windows/env.cc \
+src/core/lib/gprpp/windows/stat.cc \
+src/core/lib/gprpp/windows/thd.cc \
src/core/lib/gprpp/work_serializer.cc \
src/core/lib/gprpp/work_serializer.h \
src/core/lib/handshaker/proxy_mapper.h \
diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal
index 67cf236f279..5ba1ac377dd 100644
--- a/tools/doxygen/Doxyfile.core.internal
+++ b/tools/doxygen/Doxyfile.core.internal
@@ -1895,36 +1895,36 @@ src/core/lib/experiments/experiments.h \
src/core/lib/gpr/README.md \
src/core/lib/gpr/alloc.cc \
src/core/lib/gpr/alloc.h \
+src/core/lib/gpr/android/log.cc \
src/core/lib/gpr/atm.cc \
-src/core/lib/gpr/cpu_iphone.cc \
-src/core/lib/gpr/cpu_linux.cc \
-src/core/lib/gpr/cpu_posix.cc \
-src/core/lib/gpr/cpu_windows.cc \
+src/core/lib/gpr/iphone/cpu.cc \
+src/core/lib/gpr/linux/cpu.cc \
+src/core/lib/gpr/linux/log.cc \
src/core/lib/gpr/log.cc \
-src/core/lib/gpr/log_android.cc \
-src/core/lib/gpr/log_linux.cc \
-src/core/lib/gpr/log_posix.cc \
-src/core/lib/gpr/log_windows.cc \
+src/core/lib/gpr/msys/tmpfile.cc \
+src/core/lib/gpr/posix/cpu.cc \
+src/core/lib/gpr/posix/log.cc \
+src/core/lib/gpr/posix/string.cc \
+src/core/lib/gpr/posix/sync.cc \
+src/core/lib/gpr/posix/time.cc \
+src/core/lib/gpr/posix/tmpfile.cc \
src/core/lib/gpr/spinlock.h \
src/core/lib/gpr/string.cc \
src/core/lib/gpr/string.h \
-src/core/lib/gpr/string_posix.cc \
-src/core/lib/gpr/string_util_windows.cc \
-src/core/lib/gpr/string_windows.cc \
src/core/lib/gpr/sync.cc \
src/core/lib/gpr/sync_abseil.cc \
-src/core/lib/gpr/sync_posix.cc \
-src/core/lib/gpr/sync_windows.cc \
src/core/lib/gpr/time.cc \
-src/core/lib/gpr/time_posix.cc \
src/core/lib/gpr/time_precise.cc \
src/core/lib/gpr/time_precise.h \
-src/core/lib/gpr/time_windows.cc \
src/core/lib/gpr/tmpfile.h \
-src/core/lib/gpr/tmpfile_msys.cc \
-src/core/lib/gpr/tmpfile_posix.cc \
-src/core/lib/gpr/tmpfile_windows.cc \
src/core/lib/gpr/useful.h \
+src/core/lib/gpr/windows/cpu.cc \
+src/core/lib/gpr/windows/log.cc \
+src/core/lib/gpr/windows/string.cc \
+src/core/lib/gpr/windows/string_util.cc \
+src/core/lib/gpr/windows/sync.cc \
+src/core/lib/gpr/windows/time.cc \
+src/core/lib/gpr/windows/tmpfile.cc \
src/core/lib/gpr/wrap_memcpy.cc \
src/core/lib/gprpp/README.md \
src/core/lib/gprpp/atomic_utils.h \
@@ -1937,9 +1937,6 @@ src/core/lib/gprpp/crash.h \
src/core/lib/gprpp/debug_location.h \
src/core/lib/gprpp/dual_ref_counted.h \
src/core/lib/gprpp/env.h \
-src/core/lib/gprpp/env_linux.cc \
-src/core/lib/gprpp/env_posix.cc \
-src/core/lib/gprpp/env_windows.cc \
src/core/lib/gprpp/examine_stack.cc \
src/core/lib/gprpp/examine_stack.h \
src/core/lib/gprpp/fork.cc \
@@ -1951,6 +1948,7 @@ src/core/lib/gprpp/global_config_env.h \
src/core/lib/gprpp/global_config_generic.h \
src/core/lib/gprpp/host_port.cc \
src/core/lib/gprpp/host_port.h \
+src/core/lib/gprpp/linux/env.cc \
src/core/lib/gprpp/load_file.cc \
src/core/lib/gprpp/load_file.h \
src/core/lib/gprpp/manual_constructor.h \
@@ -1964,13 +1962,14 @@ src/core/lib/gprpp/orphanable.h \
src/core/lib/gprpp/overload.h \
src/core/lib/gprpp/packed_table.h \
src/core/lib/gprpp/per_cpu.h \
+src/core/lib/gprpp/posix/env.cc \
+src/core/lib/gprpp/posix/stat.cc \
+src/core/lib/gprpp/posix/thd.cc \
src/core/lib/gprpp/ref_counted.h \
src/core/lib/gprpp/ref_counted_ptr.h \
src/core/lib/gprpp/single_set_ptr.h \
src/core/lib/gprpp/sorted_pack.h \
src/core/lib/gprpp/stat.h \
-src/core/lib/gprpp/stat_posix.cc \
-src/core/lib/gprpp/stat_windows.cc \
src/core/lib/gprpp/status_helper.cc \
src/core/lib/gprpp/status_helper.h \
src/core/lib/gprpp/strerror.cc \
@@ -1980,8 +1979,6 @@ src/core/lib/gprpp/table.h \
src/core/lib/gprpp/tchar.cc \
src/core/lib/gprpp/tchar.h \
src/core/lib/gprpp/thd.h \
-src/core/lib/gprpp/thd_posix.cc \
-src/core/lib/gprpp/thd_windows.cc \
src/core/lib/gprpp/time.cc \
src/core/lib/gprpp/time.h \
src/core/lib/gprpp/time_averaged_stats.cc \
@@ -1991,6 +1988,9 @@ src/core/lib/gprpp/time_util.h \
src/core/lib/gprpp/unique_type_name.h \
src/core/lib/gprpp/validation_errors.cc \
src/core/lib/gprpp/validation_errors.h \
+src/core/lib/gprpp/windows/env.cc \
+src/core/lib/gprpp/windows/stat.cc \
+src/core/lib/gprpp/windows/thd.cc \
src/core/lib/gprpp/work_serializer.cc \
src/core/lib/gprpp/work_serializer.h \
src/core/lib/handshaker/proxy_mapper.h \