aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2015-06-05 07:09:56 -0700
committerGravatar Craig Tiller <ctiller@google.com>2015-06-05 07:09:56 -0700
commit2c42ef3eb3cca8261d7ea466b8254441f8414b02 (patch)
treeddf126ce730e7644786cd956e6705c56243ec300 /src/core
parent8674cb10eb1c8f02de5ad36aaa6bd4d7638de384 (diff)
parentb15d37a3c8382d156bae89466d2cef32d668253e (diff)
Merge github.com:grpc/grpc into we-dont-need-no-backup
Diffstat (limited to 'src/core')
-rw-r--r--src/core/channel/channel_args.c1
-rw-r--r--src/core/debug/trace.c45
-rw-r--r--src/core/debug/trace.h1
-rw-r--r--src/core/httpcli/format_request.c1
-rw-r--r--src/core/httpcli/httpcli.c1
-rw-r--r--src/core/httpcli/httpcli_security_connector.c1
-rw-r--r--src/core/iomgr/endpoint_pair_posix.c1
-rw-r--r--src/core/iomgr/iomgr.c3
-rw-r--r--src/core/iomgr/resolve_address_posix.c1
-rw-r--r--src/core/iomgr/resolve_address_windows.c3
-rw-r--r--src/core/iomgr/sockaddr_utils.c1
-rw-r--r--src/core/iomgr/socket_windows.c2
-rw-r--r--src/core/iomgr/tcp_client_posix.c1
-rw-r--r--src/core/iomgr/tcp_server_posix.c1
-rw-r--r--src/core/iomgr/tcp_server_windows.c1
-rw-r--r--src/core/iomgr/tcp_windows.c1
-rw-r--r--src/core/security/client_auth_filter.c1
-rw-r--r--src/core/security/credentials.c1
-rw-r--r--src/core/security/credentials_posix.c1
-rw-r--r--src/core/security/credentials_win32.c1
-rw-r--r--src/core/security/json_token.c1
-rw-r--r--src/core/security/security_connector.c1
-rw-r--r--src/core/security/security_context.c1
-rw-r--r--src/core/security/server_auth_filter.c1
-rw-r--r--src/core/support/cmdline.c1
-rw-r--r--src/core/support/env_linux.c1
-rw-r--r--src/core/support/env_posix.c1
-rw-r--r--src/core/support/env_win32.c1
-rw-r--r--src/core/support/file.c1
-rw-r--r--src/core/support/file_posix.c1
-rw-r--r--src/core/support/file_win32.c1
-rw-r--r--src/core/support/host_port.c1
-rw-r--r--src/core/support/string.h14
-rw-r--r--src/core/surface/byte_buffer_reader.c15
-rw-r--r--src/core/surface/call.c1
-rw-r--r--src/core/surface/call_log_batch.c1
-rw-r--r--src/core/surface/channel_create.c1
-rw-r--r--src/core/surface/event_string.c1
-rw-r--r--src/core/surface/init.c1
-rw-r--r--src/core/surface/secure_channel_create.c1
-rw-r--r--src/core/surface/server.c1
-rw-r--r--src/core/transport/transport_op_string.c1
42 files changed, 74 insertions, 44 deletions
diff --git a/src/core/channel/channel_args.c b/src/core/channel/channel_args.c
index 509ae0df89..1b0e33b123 100644
--- a/src/core/channel/channel_args.c
+++ b/src/core/channel/channel_args.c
@@ -36,6 +36,7 @@
#include "src/core/support/string.h"
#include <grpc/support/alloc.h>
+#include <grpc/support/string_util.h>
#include <string.h>
diff --git a/src/core/debug/trace.c b/src/core/debug/trace.c
index 32c35e7fb3..b53dfe804b 100644
--- a/src/core/debug/trace.c
+++ b/src/core/debug/trace.c
@@ -35,6 +35,7 @@
#include <string.h>
+#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/support/env.h"
@@ -80,27 +81,10 @@ static void parse(const char *s) {
char **strings = NULL;
size_t nstrings = 0;
size_t i;
- tracer *t;
split(s, &strings, &nstrings);
for (i = 0; i < nstrings; i++) {
- const char *s = strings[i];
- if (0 == strcmp(s, "all")) {
- for (t = tracers; t; t = t->next) {
- *t->flag = 1;
- }
- } else {
- int found = 0;
- for (t = tracers; t; t = t->next) {
- if (0 == strcmp(s, t->name)) {
- *t->flag = 1;
- found = 1;
- }
- }
- if (!found) {
- gpr_log(GPR_ERROR, "Unknown trace var: '%s'", s);
- }
- }
+ grpc_tracer_set_enabled(strings[i], 1);
}
for (i = 0; i < nstrings; i++) {
@@ -115,9 +99,34 @@ void grpc_tracer_init(const char *env_var) {
parse(e);
gpr_free(e);
}
+}
+
+void grpc_tracer_shutdown(void) {
while (tracers) {
tracer *t = tracers;
tracers = t->next;
gpr_free(t);
}
}
+
+int grpc_tracer_set_enabled(const char *name, int enabled) {
+ tracer *t;
+ if (0 == strcmp(name, "all")) {
+ for (t = tracers; t; t = t->next) {
+ *t->flag = 1;
+ }
+ } else {
+ int found = 0;
+ for (t = tracers; t; t = t->next) {
+ if (0 == strcmp(name, t->name)) {
+ *t->flag = enabled;
+ found = 1;
+ }
+ }
+ if (!found) {
+ gpr_log(GPR_ERROR, "Unknown trace var: '%s'", name);
+ return 0; /* early return */
+ }
+ }
+ return 1;
+}
diff --git a/src/core/debug/trace.h b/src/core/debug/trace.h
index c02f14b7f2..fc8615bc69 100644
--- a/src/core/debug/trace.h
+++ b/src/core/debug/trace.h
@@ -38,5 +38,6 @@
void grpc_register_tracer(const char *name, int *flag);
void grpc_tracer_init(const char *env_var_name);
+void grpc_tracer_shutdown(void);
#endif /* GRPC_INTERNAL_CORE_DEBUG_TRACE_H */
diff --git a/src/core/httpcli/format_request.c b/src/core/httpcli/format_request.c
index af25219084..e875423e87 100644
--- a/src/core/httpcli/format_request.c
+++ b/src/core/httpcli/format_request.c
@@ -40,6 +40,7 @@
#include "src/core/support/string.h"
#include <grpc/support/alloc.h>
#include <grpc/support/slice.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/useful.h>
static void fill_common_header(const grpc_httpcli_request *request, gpr_strvec *buf) {
diff --git a/src/core/httpcli/httpcli.c b/src/core/httpcli/httpcli.c
index d39bcfe55d..1a1bebe9bb 100644
--- a/src/core/httpcli/httpcli.c
+++ b/src/core/httpcli/httpcli.c
@@ -46,6 +46,7 @@
#include "src/core/support/string.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
typedef struct {
gpr_slice request_text;
diff --git a/src/core/httpcli/httpcli_security_connector.c b/src/core/httpcli/httpcli_security_connector.c
index 6eed5eaf12..ce0d3d5a70 100644
--- a/src/core/httpcli/httpcli_security_connector.c
+++ b/src/core/httpcli/httpcli_security_connector.c
@@ -39,6 +39,7 @@
#include "src/core/support/string.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include "src/core/tsi/ssl_transport_security.h"
typedef struct {
diff --git a/src/core/iomgr/endpoint_pair_posix.c b/src/core/iomgr/endpoint_pair_posix.c
index 9b3b63f1e7..fa2d2555d6 100644
--- a/src/core/iomgr/endpoint_pair_posix.c
+++ b/src/core/iomgr/endpoint_pair_posix.c
@@ -47,6 +47,7 @@
#include "src/core/support/string.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
static void create_sockets(int sv[2]) {
int flags;
diff --git a/src/core/iomgr/iomgr.c b/src/core/iomgr/iomgr.c
index d2c092b450..c47528aa94 100644
--- a/src/core/iomgr/iomgr.c
+++ b/src/core/iomgr/iomgr.c
@@ -40,8 +40,9 @@
#include "src/core/support/string.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
-#include <grpc/support/thd.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/sync.h>
+#include <grpc/support/thd.h>
static gpr_mu g_mu;
static gpr_cv g_rcv;
diff --git a/src/core/iomgr/resolve_address_posix.c b/src/core/iomgr/resolve_address_posix.c
index fcf48fe0d7..20d8c58eb4 100644
--- a/src/core/iomgr/resolve_address_posix.c
+++ b/src/core/iomgr/resolve_address_posix.c
@@ -47,6 +47,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/thd.h>
#include <grpc/support/time.h>
diff --git a/src/core/iomgr/resolve_address_windows.c b/src/core/iomgr/resolve_address_windows.c
index 7d0d2f9e7a..fb5fd0d4f6 100644
--- a/src/core/iomgr/resolve_address_windows.c
+++ b/src/core/iomgr/resolve_address_windows.c
@@ -46,6 +46,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/thd.h>
#include <grpc/support/time.h>
@@ -134,9 +135,9 @@ static void do_request(void *rp) {
grpc_resolve_cb cb = r->cb;
gpr_free(r->name);
gpr_free(r->default_port);
+ grpc_iomgr_unregister_object(&r->iomgr_object);
gpr_free(r);
cb(arg, resolved);
- grpc_iomgr_unregister_object(&r->iomgr_object);
}
void grpc_resolved_addresses_destroy(grpc_resolved_addresses *addrs) {
diff --git a/src/core/iomgr/sockaddr_utils.c b/src/core/iomgr/sockaddr_utils.c
index 3d202a5cc8..e91b94f8c8 100644
--- a/src/core/iomgr/sockaddr_utils.c
+++ b/src/core/iomgr/sockaddr_utils.c
@@ -40,6 +40,7 @@
#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/port_platform.h>
+#include <grpc/support/string_util.h>
static const gpr_uint8 kV4MappedPrefix[] = {0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0xff, 0xff};
diff --git a/src/core/iomgr/socket_windows.c b/src/core/iomgr/socket_windows.c
index e4ba0a2b66..fbf3fdc949 100644
--- a/src/core/iomgr/socket_windows.c
+++ b/src/core/iomgr/socket_windows.c
@@ -85,13 +85,13 @@ int grpc_winsocket_shutdown(grpc_winsocket *socket) {
both memory and sockets. */
void grpc_winsocket_orphan(grpc_winsocket *winsocket) {
SOCKET socket = winsocket->socket;
+ grpc_iomgr_unregister_object(&winsocket->iomgr_object);
if (winsocket->read_info.outstanding || winsocket->write_info.outstanding) {
grpc_iocp_socket_orphan(winsocket);
} else {
grpc_winsocket_destroy(winsocket);
}
closesocket(socket);
- grpc_iomgr_unregister_object(&winsocket->iomgr_object);
}
void grpc_winsocket_destroy(grpc_winsocket *winsocket) {
diff --git a/src/core/iomgr/tcp_client_posix.c b/src/core/iomgr/tcp_client_posix.c
index df6203b70c..bbf7711588 100644
--- a/src/core/iomgr/tcp_client_posix.c
+++ b/src/core/iomgr/tcp_client_posix.c
@@ -51,6 +51,7 @@
#include "src/core/support/string.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
typedef struct {
diff --git a/src/core/iomgr/tcp_server_posix.c b/src/core/iomgr/tcp_server_posix.c
index 713abc6db3..2ac35f863a 100644
--- a/src/core/iomgr/tcp_server_posix.c
+++ b/src/core/iomgr/tcp_server_posix.c
@@ -63,6 +63,7 @@
#include "src/core/support/string.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/sync.h>
#include <grpc/support/time.h>
diff --git a/src/core/iomgr/tcp_server_windows.c b/src/core/iomgr/tcp_server_windows.c
index 9ef369dfd8..d70968de88 100644
--- a/src/core/iomgr/tcp_server_windows.c
+++ b/src/core/iomgr/tcp_server_windows.c
@@ -41,6 +41,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/log_win32.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/sync.h>
#include <grpc/support/time.h>
diff --git a/src/core/iomgr/tcp_windows.c b/src/core/iomgr/tcp_windows.c
index 3341f558a3..12dac03080 100644
--- a/src/core/iomgr/tcp_windows.c
+++ b/src/core/iomgr/tcp_windows.c
@@ -41,6 +41,7 @@
#include <grpc/support/log.h>
#include <grpc/support/log_win32.h>
#include <grpc/support/slice_buffer.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/useful.h>
#include "src/core/iomgr/alarm.h"
diff --git a/src/core/security/client_auth_filter.c b/src/core/security/client_auth_filter.c
index 5ef635a262..d11706ece0 100644
--- a/src/core/security/client_auth_filter.c
+++ b/src/core/security/client_auth_filter.c
@@ -37,6 +37,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include "src/core/support/string.h"
#include "src/core/channel/channel_stack.h"
diff --git a/src/core/security/credentials.c b/src/core/security/credentials.c
index 7fc3f003fd..cf663faf2d 100644
--- a/src/core/security/credentials.c
+++ b/src/core/security/credentials.c
@@ -46,6 +46,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/sync.h>
#include <grpc/support/time.h>
diff --git a/src/core/security/credentials_posix.c b/src/core/security/credentials_posix.c
index 79622cb024..20f67a7f14 100644
--- a/src/core/security/credentials_posix.c
+++ b/src/core/security/credentials_posix.c
@@ -39,6 +39,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include "src/core/support/env.h"
#include "src/core/support/string.h"
diff --git a/src/core/security/credentials_win32.c b/src/core/security/credentials_win32.c
index ddb310468b..92dfd9bdfe 100644
--- a/src/core/security/credentials_win32.c
+++ b/src/core/security/credentials_win32.c
@@ -39,6 +39,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include "src/core/support/env.h"
#include "src/core/support/string.h"
diff --git a/src/core/security/json_token.c b/src/core/security/json_token.c
index eadae33609..6116f1d767 100644
--- a/src/core/security/json_token.c
+++ b/src/core/security/json_token.c
@@ -37,6 +37,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include "src/core/security/base64.h"
#include "src/core/support/string.h"
diff --git a/src/core/security/security_connector.c b/src/core/security/security_connector.c
index 11505f8cb0..4098636a2e 100644
--- a/src/core/security/security_connector.c
+++ b/src/core/security/security_connector.c
@@ -47,6 +47,7 @@
#include <grpc/support/host_port.h>
#include <grpc/support/log.h>
#include <grpc/support/slice_buffer.h>
+#include <grpc/support/string_util.h>
#include "src/core/tsi/fake_transport_security.h"
#include "src/core/tsi/ssl_transport_security.h"
diff --git a/src/core/security/security_context.c b/src/core/security/security_context.c
index 14c194c8f6..9aba1e7f91 100644
--- a/src/core/security/security_context.c
+++ b/src/core/security/security_context.c
@@ -40,6 +40,7 @@
#include <grpc/grpc_security.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
/* --- grpc_call --- */
diff --git a/src/core/security/server_auth_filter.c b/src/core/security/server_auth_filter.c
index 1823f75808..b19160b8ed 100644
--- a/src/core/security/server_auth_filter.c
+++ b/src/core/security/server_auth_filter.c
@@ -78,7 +78,6 @@ static void init_call_elem(grpc_call_element *elem,
calld->unused = 0;
GPR_ASSERT(initial_op && initial_op->context != NULL &&
- chand->security_connector->auth_context != NULL &&
initial_op->context[GRPC_CONTEXT_SECURITY].value == NULL);
/* Create a security context for the call and reference the auth context from
diff --git a/src/core/support/cmdline.c b/src/core/support/cmdline.c
index 530952c437..4baad85040 100644
--- a/src/core/support/cmdline.c
+++ b/src/core/support/cmdline.c
@@ -40,6 +40,7 @@
#include "src/core/support/string.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
typedef enum { ARGTYPE_INT, ARGTYPE_BOOL, ARGTYPE_STRING } argtype;
diff --git a/src/core/support/env_linux.c b/src/core/support/env_linux.c
index bdadfb6ca4..2e03365e33 100644
--- a/src/core/support/env_linux.c
+++ b/src/core/support/env_linux.c
@@ -45,6 +45,7 @@
#include <stdlib.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include "src/core/support/string.h"
diff --git a/src/core/support/env_posix.c b/src/core/support/env_posix.c
index 45f89b6737..1dd2af56bc 100644
--- a/src/core/support/env_posix.c
+++ b/src/core/support/env_posix.c
@@ -42,6 +42,7 @@
#include <grpc/support/log.h>
#include "src/core/support/string.h"
+#include <grpc/support/string_util.h>
char *gpr_getenv(const char *name) {
char *result = getenv(name);
diff --git a/src/core/support/env_win32.c b/src/core/support/env_win32.c
index 9b4cd698ad..6b1ff102b0 100644
--- a/src/core/support/env_win32.c
+++ b/src/core/support/env_win32.c
@@ -42,6 +42,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
char *gpr_getenv(const char *name) {
size_t size;
diff --git a/src/core/support/file.c b/src/core/support/file.c
index 3a4ac6f2f0..8ce7a67fb1 100644
--- a/src/core/support/file.c
+++ b/src/core/support/file.c
@@ -38,6 +38,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include "src/core/support/string.h"
diff --git a/src/core/support/file_posix.c b/src/core/support/file_posix.c
index 11a459ad36..c11c07148a 100644
--- a/src/core/support/file_posix.c
+++ b/src/core/support/file_posix.c
@@ -44,6 +44,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include "src/core/support/string.h"
diff --git a/src/core/support/file_win32.c b/src/core/support/file_win32.c
index f59d3af397..355744f79a 100644
--- a/src/core/support/file_win32.c
+++ b/src/core/support/file_win32.c
@@ -42,6 +42,7 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include "src/core/support/file.h"
#include "src/core/support/string_win32.h"
diff --git a/src/core/support/host_port.c b/src/core/support/host_port.c
index fa49f1a33a..53669f063b 100644
--- a/src/core/support/host_port.c
+++ b/src/core/support/host_port.c
@@ -38,6 +38,7 @@
#include "src/core/support/string.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
int gpr_join_host_port(char **out, const char *host, int port) {
if (host[0] != '[' && strchr(host, ':') != NULL) {
diff --git a/src/core/support/string.h b/src/core/support/string.h
index faf3342708..31e9fcb5e9 100644
--- a/src/core/support/string.h
+++ b/src/core/support/string.h
@@ -44,10 +44,6 @@ extern "C" {
/* String utility functions */
-/* Returns a copy of src that can be passed to gpr_free().
- If allocation fails or if src is NULL, returns NULL. */
-char *gpr_strdup(const char *src);
-
/* flag to include plaintext after a hexdump */
#define GPR_HEXDUMP_PLAINTEXT 0x00000001
@@ -71,16 +67,6 @@ int gpr_ltoa(long value, char *output);
/* Reverse a run of bytes */
void gpr_reverse_bytes(char *str, int len);
-/* printf to a newly-allocated string. The set of supported formats may vary
- between platforms.
-
- On success, returns the number of bytes printed (excluding the final '\0'),
- and *strp points to a string which must later be destroyed with gpr_free().
-
- On error, returns -1 and sets *strp to NULL. If the format string is bad,
- the result is undefined. */
-int gpr_asprintf(char **strp, const char *format, ...);
-
/* Join a set of strings, returning the resulting string.
Total combined length (excluding null terminator) is returned in total_length
if it is non-null. */
diff --git a/src/core/surface/byte_buffer_reader.c b/src/core/surface/byte_buffer_reader.c
index fd5289bac3..41ad700274 100644
--- a/src/core/surface/byte_buffer_reader.c
+++ b/src/core/surface/byte_buffer_reader.c
@@ -39,15 +39,18 @@
#include <grpc/support/slice_buffer.h>
#include <grpc/byte_buffer.h>
-grpc_byte_buffer_reader *grpc_byte_buffer_reader_create(
- grpc_byte_buffer *buffer) {
- grpc_byte_buffer_reader *reader = malloc(sizeof(grpc_byte_buffer_reader));
+void grpc_byte_buffer_reader_init(grpc_byte_buffer_reader *reader,
+ grpc_byte_buffer *buffer) {
reader->buffer = buffer;
switch (buffer->type) {
case GRPC_BB_SLICE_BUFFER:
reader->current.index = 0;
}
- return reader;
+}
+
+void grpc_byte_buffer_reader_destroy(grpc_byte_buffer_reader *reader) {
+ /* no-op: the user is responsible for memory deallocation.
+ * Other cleanup operations would go here if needed. */
}
int grpc_byte_buffer_reader_next(grpc_byte_buffer_reader *reader,
@@ -68,7 +71,3 @@ int grpc_byte_buffer_reader_next(grpc_byte_buffer_reader *reader,
}
return 0;
}
-
-void grpc_byte_buffer_reader_destroy(grpc_byte_buffer_reader *reader) {
- free(reader);
-}
diff --git a/src/core/surface/call.c b/src/core/surface/call.c
index 2d651be6a5..84a77c45c4 100644
--- a/src/core/surface/call.c
+++ b/src/core/surface/call.c
@@ -42,6 +42,7 @@
#include "src/core/surface/completion_queue.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include <assert.h>
#include <stdio.h>
diff --git a/src/core/surface/call_log_batch.c b/src/core/surface/call_log_batch.c
index 9905401bee..55663298c9 100644
--- a/src/core/surface/call_log_batch.c
+++ b/src/core/surface/call_log_batch.c
@@ -35,6 +35,7 @@
#include "src/core/support/string.h"
#include <grpc/support/alloc.h>
+#include <grpc/support/string_util.h>
int grpc_trace_batch = 0;
diff --git a/src/core/surface/channel_create.c b/src/core/surface/channel_create.c
index d137ce12ac..d069a04a9a 100644
--- a/src/core/surface/channel_create.c
+++ b/src/core/surface/channel_create.c
@@ -53,6 +53,7 @@
#include "src/core/transport/chttp2_transport.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/sync.h>
#include <grpc/support/useful.h>
diff --git a/src/core/surface/event_string.c b/src/core/surface/event_string.c
index 448bb1162b..33cd4a43aa 100644
--- a/src/core/surface/event_string.c
+++ b/src/core/surface/event_string.c
@@ -37,6 +37,7 @@
#include "src/core/support/string.h"
#include <grpc/byte_buffer.h>
+#include <grpc/support/string_util.h>
static void addhdr(gpr_strvec *buf, grpc_event *ev) {
char *tmp;
diff --git a/src/core/surface/init.c b/src/core/surface/init.c
index ac6871c6f2..ca61a38a35 100644
--- a/src/core/surface/init.c
+++ b/src/core/surface/init.c
@@ -78,6 +78,7 @@ void grpc_shutdown(void) {
grpc_iomgr_shutdown();
census_shutdown();
grpc_timers_global_destroy();
+ grpc_tracer_shutdown();
}
gpr_mu_unlock(&g_init_mu);
}
diff --git a/src/core/surface/secure_channel_create.c b/src/core/surface/secure_channel_create.c
index 4854ec9ded..fae3e4e90a 100644
--- a/src/core/surface/secure_channel_create.c
+++ b/src/core/surface/secure_channel_create.c
@@ -56,6 +56,7 @@
#include <grpc/grpc_security.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/sync.h>
#include <grpc/support/useful.h>
#include "src/core/tsi/transport_security_interface.h"
diff --git a/src/core/surface/server.c b/src/core/surface/server.c
index 68b8d839a0..525fe2e103 100644
--- a/src/core/surface/server.c
+++ b/src/core/surface/server.c
@@ -48,6 +48,7 @@
#include "src/core/transport/metadata.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/useful.h>
typedef enum { PENDING_START, ALL_CALLS, CALL_LIST_COUNT } call_list;
diff --git a/src/core/transport/transport_op_string.c b/src/core/transport/transport_op_string.c
index 7bbe8276c3..5c4edb006a 100644
--- a/src/core/transport/transport_op_string.c
+++ b/src/core/transport/transport_op_string.c
@@ -39,6 +39,7 @@
#include "src/core/support/string.h"
#include <grpc/support/alloc.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/useful.h>
/* These routines are here to facilitate debugging - they produce string