diff options
author | Vijay Pai <vpai@google.com> | 2018-02-12 10:28:24 -0800 |
---|---|---|
committer | Vijay Pai <vpai@google.com> | 2018-02-12 11:44:52 -0800 |
commit | c745690caf432ddd9fed1284d055fcc1859d7f39 (patch) | |
tree | 332e2b0fc92c3db1d1bb0089d239617355d968ee /include/grpc/support | |
parent | b09c58c3402747d94cf74c11294a73c700c93902 (diff) |
Internalize gpr_thd except for id and currentid
Diffstat (limited to 'include/grpc/support')
-rw-r--r-- | include/grpc/support/thd.h | 79 | ||||
-rw-r--r-- | include/grpc/support/thd_id.h | 42 |
2 files changed, 42 insertions, 79 deletions
diff --git a/include/grpc/support/thd.h b/include/grpc/support/thd.h deleted file mode 100644 index e9444e88c9..0000000000 --- a/include/grpc/support/thd.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * - * Copyright 2015 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#ifndef GRPC_SUPPORT_THD_H -#define GRPC_SUPPORT_THD_H -/** Thread interface for GPR. - - Types - gpr_thd_id a thread identifier. - (Currently no calls take a thread identifier. - It exists for future extensibility.) - gpr_thd_options options used when creating a thread - */ - -#include <grpc/support/port_platform.h> - -#ifdef __cplusplus -extern "C" { -#endif - -typedef uintptr_t gpr_thd_id; - -/** Thread creation options. */ -typedef struct { - int flags; /** Opaque field. Get and set with accessors below. */ -} gpr_thd_options; - -/** Create a new thread running (*thd_body)(arg) and place its thread identifier - in *t, and return true. If there are insufficient resources, return false. - thd_name is the name of the thread for identification purposes on platforms - that support thread naming. - If options==NULL, default options are used. - The thread is immediately runnable, and exits when (*thd_body)() returns. */ -GPRAPI int gpr_thd_new(gpr_thd_id* t, const char* thd_name, - void (*thd_body)(void* arg), void* arg, - const gpr_thd_options* options); - -/** Return a gpr_thd_options struct with all fields set to defaults. */ -GPRAPI gpr_thd_options gpr_thd_options_default(void); - -/** Set the thread to become detached on startup - this is the default. */ -GPRAPI void gpr_thd_options_set_detached(gpr_thd_options* options); - -/** Set the thread to become joinable - mutually exclusive with detached. */ -GPRAPI void gpr_thd_options_set_joinable(gpr_thd_options* options); - -/** Returns non-zero if the option detached is set. */ -GPRAPI int gpr_thd_options_is_detached(const gpr_thd_options* options); - -/** Returns non-zero if the option joinable is set. */ -GPRAPI int gpr_thd_options_is_joinable(const gpr_thd_options* options); - -/** Returns the identifier of the current thread. */ -GPRAPI gpr_thd_id gpr_thd_currentid(void); - -/** Blocks until the specified thread properly terminates. - Calling this on a detached thread has unpredictable results. */ -GPRAPI void gpr_thd_join(gpr_thd_id t); - -#ifdef __cplusplus -} -#endif - -#endif /* GRPC_SUPPORT_THD_H */ diff --git a/include/grpc/support/thd_id.h b/include/grpc/support/thd_id.h new file mode 100644 index 0000000000..ffd1f6e219 --- /dev/null +++ b/include/grpc/support/thd_id.h @@ -0,0 +1,42 @@ +/* + * + * Copyright 2018 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef GRPC_SUPPORT_THD_ID_H +#define GRPC_SUPPORT_THD_ID_H +/** Thread interface for GPR. + + Types + gpr_thd_id a unique opaque identifier for a thread. + */ + +#include <grpc/support/port_platform.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef uintptr_t gpr_thd_id; + +/** Returns the identifier of the current thread. */ +GPRAPI gpr_thd_id gpr_thd_currentid(void); + +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_SUPPORT_THD_ID_H */ |