#include <grpc/support/port_platform.h>
#include <string>
#include <grpc/support/time.h>
#ifdef GPR_POSIX_SYNC
#include <pthread.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd_id.h>
#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/gprpp/fork.h"
#include "src/core/lib/gprpp/strerror.h"
#include "src/core/lib/gprpp/thd.h"
namespace grpc_core {
namespace {
class ThreadInternalsPosix;
struct thd_arg { … };
size_t RoundUpToPageSize(size_t size) { … }
size_t MinValidStackSize(size_t request_size) { … }
class ThreadInternalsPosix : public internal::ThreadInternalsInterface { … };
}
Thread::Thread(const char* thd_name, void (*thd_body)(void* arg), void* arg,
bool* success, const Options& options)
: … { … }
}
gpr_thd_id gpr_thd_currentid(void) { … }
#endif