diff options
author | Kozlov Dmitry <xeb@mail.ru> | 2012-02-02 11:21:09 +0400 |
---|---|---|
committer | Kozlov Dmitry <xeb@mail.ru> | 2012-02-02 11:21:09 +0400 |
commit | 211f028919138cd2c6e3ddfb1fd8221a1273d894 (patch) | |
tree | 1502a7f8485b81d51c768791c5f4fed594fbc25c /accel-pppd/triton | |
parent | d6a8d89121fe5496d3d0fd9512ab123d8685ff58 (diff) | |
download | accel-ppp-211f028919138cd2c6e3ddfb1fd8221a1273d894.tar.gz accel-ppp-211f028919138cd2c6e3ddfb1fd8221a1273d894.zip |
fix load module order
Diffstat (limited to 'accel-pppd/triton')
-rw-r--r-- | accel-pppd/triton/triton.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/accel-pppd/triton/triton.c b/accel-pppd/triton/triton.c index d806231a..e2d8c012 100644 --- a/accel-pppd/triton/triton.c +++ b/accel-pppd/triton/triton.c @@ -89,6 +89,7 @@ static void* triton_thread(struct _triton_thread_t *thread) sigfillset(&set); sigdelset(&set, SIGKILL); sigdelset(&set, SIGSTOP); + sigdelset(&set, SIGSEGV); pthread_sigmask(SIG_BLOCK, &set, NULL); sigemptyset(&set); @@ -539,7 +540,7 @@ static void ru_update(struct triton_timer_t *t) void __export triton_register_init(int order, void (*func)(void)) { struct _triton_init_t *i1, *i = _malloc(sizeof(*i)); - struct list_head *p = init_list.prev; + struct list_head *p = init_list.next; i->order = order; @@ -547,11 +548,11 @@ void __export triton_register_init(int order, void (*func)(void)) while (p != &init_list) { i1 = list_entry(p, typeof(*i1), entry); - if (order > i1->order) + if (order < i1->order) break; - p = p->prev; + p = p->next; } - list_add(&i->entry, p); + list_add_tail(&i->entry, p); } int __export triton_init(const char *conf_file) |