summaryrefslogtreecommitdiff
path: root/accel-pppd/triton
diff options
context:
space:
mode:
authorKozlov Dmitry <xeb@mail.ru>2012-02-02 11:21:09 +0400
committerKozlov Dmitry <xeb@mail.ru>2012-02-02 11:21:09 +0400
commit211f028919138cd2c6e3ddfb1fd8221a1273d894 (patch)
tree1502a7f8485b81d51c768791c5f4fed594fbc25c /accel-pppd/triton
parentd6a8d89121fe5496d3d0fd9512ab123d8685ff58 (diff)
downloadaccel-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.c9
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)