From fe7c3a4b74b9f1ed57d22316069602acd4794265 Mon Sep 17 00:00:00 2001 From: Dmitry Kozlov Date: Tue, 24 Dec 2019 14:46:43 +0300 Subject: triton: small fixes --- accel-pppd/triton/md.c | 4 +--- accel-pppd/triton/timer.c | 13 ++++++------- 2 files changed, 7 insertions(+), 10 deletions(-) (limited to 'accel-pppd/triton') diff --git a/accel-pppd/triton/md.c b/accel-pppd/triton/md.c index b490d0c..9b7dd81 100644 --- a/accel-pppd/triton/md.c +++ b/accel-pppd/triton/md.c @@ -9,8 +9,6 @@ #include "triton_p.h" -#include "memdebug.h" - extern int max_events; static int epoll_fd; @@ -35,7 +33,7 @@ int md_init(void) fcntl(epoll_fd, F_SETFD, O_CLOEXEC); - epoll_events = _malloc(max_events * sizeof(struct epoll_event)); + epoll_events = malloc(max_events * sizeof(struct epoll_event)); if (!epoll_events) { fprintf(stderr,"md:cann't allocate memory\n"); return -1; diff --git a/accel-pppd/triton/timer.c b/accel-pppd/triton/timer.c index 18599ef..744b10b 100644 --- a/accel-pppd/triton/timer.c +++ b/accel-pppd/triton/timer.c @@ -142,8 +142,8 @@ int __export triton_timer_add(struct triton_context_t *ctx, struct triton_timer_ } if (fcntl(t->fd, F_SETFL, O_NONBLOCK)) { - triton_log_error("timer: failed to set nonblocking mode: %s", strerror(errno)); - goto out_err; + triton_log_error("timer: failed to set nonblocking mode: %s", strerror(errno)); + goto out_err; } __sync_add_and_fetch(&t->ctx->refs, 1); @@ -165,7 +165,7 @@ int __export triton_timer_add(struct triton_context_t *ctx, struct triton_timer_ goto out_err; } - triton_stat.timer_count++; + __sync_add_and_fetch(&triton_stat.timer_count, 1); return 0; @@ -198,8 +198,9 @@ int __export triton_timer_mod(struct triton_timer_t *ud,int abs_time) void __export triton_timer_del(struct triton_timer_t *ud) { struct _triton_timer_t *t = (struct _triton_timer_t *)ud->tpd; - epoll_ctl(epoll_fd, EPOLL_CTL_DEL, t->fd, &t->epoll_event); + close(t->fd); + spin_lock(&t->ctx->lock); t->ud = NULL; list_del(&t->entry); @@ -209,14 +210,12 @@ void __export triton_timer_del(struct triton_timer_t *ud) } spin_unlock(&t->ctx->lock); - sched_yield(); - pthread_mutex_lock(&freed_list_lock); list_add_tail(&t->entry, &freed_list); pthread_mutex_unlock(&freed_list_lock); ud->tpd = NULL; - triton_stat.timer_count--; + __sync_sub_and_fetch(&triton_stat.timer_count, 1); } -- cgit v1.2.3