summaryrefslogtreecommitdiffstats
path: root/lib/command_queue.c
diff options
context:
space:
mode:
authorpaulo <paul@bayleaf.org.uk>2010-02-01 17:19:12 +0000
committerpaulo <paul@bayleaf.org.uk>2010-02-01 17:19:12 +0000
commitb5be77ccc56a4345fd18c97f2daa7cf4342a2438 (patch)
tree12226fed6fea36de8c6d484439960c919c4642d1 /lib/command_queue.c
parent6e75be0d8cb3810692b78292f827b58f69a4c67c (diff)
downloadquagga-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.c8
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--;