summaryrefslogtreecommitdiff
path: root/accel-pppd/triton
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2019-12-24 14:46:43 +0300
committerDmitry Kozlov <xeb@mail.ru>2019-12-24 14:46:43 +0300
commitfe7c3a4b74b9f1ed57d22316069602acd4794265 (patch)
treeced548afd25849349a44246434b303f2007bff06 /accel-pppd/triton
parent14203c92120246c3be8d4167392165b68e4fa8d5 (diff)
downloadaccel-ppp-fe7c3a4b74b9f1ed57d22316069602acd4794265.tar.gz
accel-ppp-fe7c3a4b74b9f1ed57d22316069602acd4794265.zip
triton: small fixes
Diffstat (limited to 'accel-pppd/triton')
-rw-r--r--accel-pppd/triton/md.c4
-rw-r--r--accel-pppd/triton/timer.c13
2 files changed, 7 insertions, 10 deletions
diff --git a/accel-pppd/triton/md.c b/accel-pppd/triton/md.c
index b490d0c0..9b7dd81a 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 18599ef3..744b10b3 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);
}