diff options
author | paulo <paul@bayleaf.org.uk> | 2010-02-01 17:19:12 +0000 |
---|---|---|
committer | paulo <paul@bayleaf.org.uk> | 2010-02-01 17:19:12 +0000 |
commit | b5be77ccc56a4345fd18c97f2daa7cf4342a2438 (patch) | |
tree | 12226fed6fea36de8c6d484439960c919c4642d1 /lib/command_queue.c | |
parent | 6e75be0d8cb3810692b78292f827b58f69a4c67c (diff) | |
download | quagga-b5be77ccc56a4345fd18c97f2daa7cf4342a2438.tar.bz2 quagga-b5be77ccc56a4345fd18c97f2daa7cf4342a2438.tar.xz |
Use session->notification instead of peer's. Fix HUP - race condition.
Diffstat (limited to 'lib/command_queue.c')
-rw-r--r-- | lib/command_queue.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/command_queue.c b/lib/command_queue.c index 3bb3473f..b14bcd20 100644 --- a/lib/command_queue.c +++ b/lib/command_queue.c @@ -34,10 +34,10 @@ cq_enqueue(struct cmd_element *matched_element, struct vty *vty, int argc, const char *argv[], qpn_nexus bgp_nexus) { int i; - mqueue_block mqb = mqb_init_new(NULL, cq_action, matched_element) ; + mqueue_block mqb = mqb_init_new(NULL, cq_action, vty) ; /* all parameters are pointers so use the queue's argv */ - mqb_push_argv_p(mqb, vty); + mqb_push_argv_p(mqb, matched_element); for (i = 0; i < argc; ++i) mqb_push_argv_p(mqb, XSTRDUP(MTYPE_MARSHAL, argv[i])); @@ -55,11 +55,11 @@ cq_action(mqueue_block mqb, mqb_flag_t flag) void **argv; int argc; - matched_element = mqb_get_arg0(mqb); + vty = mqb_get_arg0(mqb); argc = mqb_get_argv_count(mqb); argv = mqb_get_argv(mqb) ; - vty = argv[0]; + matched_element = argv[0]; argv++; argc--; |