Portability fixes

pull/11866/head
Craig Tiller 8 years ago
parent b603489629
commit de682c59cb
  1. 7
      src/core/lib/iomgr/pollset_uv.c
  2. 10
      src/core/lib/iomgr/tcp_client_windows.c

@ -116,13 +116,14 @@ void grpc_pollset_destroy(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset) {
grpc_error *grpc_pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, grpc_error *grpc_pollset_work(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset,
grpc_pollset_worker **worker_hdl, grpc_pollset_worker **worker_hdl,
gpr_timespec now, gpr_timespec deadline) { grpc_millis deadline) {
uint64_t timeout; uint64_t timeout;
GRPC_UV_ASSERT_SAME_THREAD(); GRPC_UV_ASSERT_SAME_THREAD();
gpr_mu_unlock(&grpc_polling_mu); gpr_mu_unlock(&grpc_polling_mu);
if (grpc_pollset_work_run_loop) { if (grpc_pollset_work_run_loop) {
if (gpr_time_cmp(deadline, now) >= 0) { grpc_millis now = grpc_exec_ctx_now(exec_ctx);
timeout = (uint64_t)gpr_time_to_millis(gpr_time_sub(deadline, now)); if (deadline >= now) {
timeout = deadline - now;
} else { } else {
timeout = 0; timeout = 0;
} }

@ -41,7 +41,6 @@ typedef struct {
grpc_closure *on_done; grpc_closure *on_done;
gpr_mu mu; gpr_mu mu;
grpc_winsocket *socket; grpc_winsocket *socket;
gpr_timespec deadline;
grpc_timer alarm; grpc_timer alarm;
grpc_closure on_alarm; grpc_closure on_alarm;
char *addr_name; char *addr_name;
@ -124,7 +123,7 @@ static void on_connect(grpc_exec_ctx *exec_ctx, void *acp, grpc_error *error) {
static void tcp_client_connect_impl( static void tcp_client_connect_impl(
grpc_exec_ctx *exec_ctx, grpc_closure *on_done, grpc_endpoint **endpoint, grpc_exec_ctx *exec_ctx, grpc_closure *on_done, grpc_endpoint **endpoint,
grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args,
const grpc_resolved_address *addr, gpr_timespec deadline) { const grpc_resolved_address *addr, grpc_millis deadline) {
SOCKET sock = INVALID_SOCKET; SOCKET sock = INVALID_SOCKET;
BOOL success; BOOL success;
int status; int status;
@ -204,8 +203,7 @@ static void tcp_client_connect_impl(
GRPC_CLOSURE_INIT(&ac->on_connect, on_connect, ac, grpc_schedule_on_exec_ctx); GRPC_CLOSURE_INIT(&ac->on_connect, on_connect, ac, grpc_schedule_on_exec_ctx);
GRPC_CLOSURE_INIT(&ac->on_alarm, on_alarm, ac, grpc_schedule_on_exec_ctx); GRPC_CLOSURE_INIT(&ac->on_alarm, on_alarm, ac, grpc_schedule_on_exec_ctx);
grpc_timer_init(exec_ctx, &ac->alarm, deadline, &ac->on_alarm, grpc_timer_init(exec_ctx, &ac->alarm, deadline, &ac->on_alarm, );
gpr_now(GPR_CLOCK_MONOTONIC));
grpc_socket_notify_on_write(exec_ctx, socket, &ac->on_connect); grpc_socket_notify_on_write(exec_ctx, socket, &ac->on_connect);
return; return;
@ -230,14 +228,14 @@ void (*grpc_tcp_client_connect_impl)(
grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep, grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep,
grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args, grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args,
const grpc_resolved_address *addr, const grpc_resolved_address *addr,
gpr_timespec deadline) = tcp_client_connect_impl; grpc_millis deadline) = tcp_client_connect_impl;
void grpc_tcp_client_connect(grpc_exec_ctx *exec_ctx, grpc_closure *closure, void grpc_tcp_client_connect(grpc_exec_ctx *exec_ctx, grpc_closure *closure,
grpc_endpoint **ep, grpc_endpoint **ep,
grpc_pollset_set *interested_parties, grpc_pollset_set *interested_parties,
const grpc_channel_args *channel_args, const grpc_channel_args *channel_args,
const grpc_resolved_address *addr, const grpc_resolved_address *addr,
gpr_timespec deadline) { grpc_millis deadline) {
grpc_tcp_client_connect_impl(exec_ctx, closure, ep, interested_parties, grpc_tcp_client_connect_impl(exec_ctx, closure, ep, interested_parties,
channel_args, addr, deadline); channel_args, addr, deadline);
} }

Loading…
Cancel
Save