From 5a2d6079eba1c7e2a9479cb10d714b5a97bbfe4f Mon Sep 17 00:00:00 2001 From: Kozlov Dmitry Date: Tue, 3 Aug 2010 13:28:53 +0400 Subject: initiating work on accel-pptpd, replacement of modified poptop --- accel-pptpd/triton/loader.c | 55 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 accel-pptpd/triton/loader.c (limited to 'accel-pptpd/triton/loader.c') diff --git a/accel-pptpd/triton/loader.c b/accel-pptpd/triton/loader.c new file mode 100644 index 00000000..33d48315 --- /dev/null +++ b/accel-pptpd/triton/loader.c @@ -0,0 +1,55 @@ +#include +#include +#include +#include +#include + +#include "conf_file.h" +#include "triton_p.h" + +void md_init(void); +void event_init(void); +void timer_init(void); + +struct thread_arg_t +{ + int (*post_init)(void*); + void *arg; +}; + +void *thread(struct thread_arg_t *arg) +{ + printf("triton: starting new thread\n"); + #ifdef USE_CORO + coroutine_init(); + #endif + md_init(); + event_init(); + timer_init(); + + arg->post_init(arg->arg); + + free(arg); + + //conf_file_load(cf_name); + #ifdef USE_CORO + schedule(); + #else + md_run(); + #endif + + return NULL; +} + +int triton_init(const char *conf_file) +{ + return 0; +} +int triton_run(int (*post_init)(void*),void *arg) +{ + pthread_t thr; + struct thread_arg_t *thr_arg=malloc(sizeof(*thr_arg)); + thr_arg->post_init=post_init; + thr_arg->arg=arg; + return pthread_create(&thr,NULL,(void*(*)(void*))thread,thr_arg); +} -- cgit v1.2.3