]> git.puffer.fish Git - mirror/frr.git/commitdiff
2005-06-15 Paul Jakma <paul.jakma@sun.com>
authorpaul <paul>
Wed, 15 Jun 2005 19:15:35 +0000 (19:15 +0000)
committerpaul <paul>
Wed, 15 Jun 2005 19:15:35 +0000 (19:15 +0000)
* bgpd.c: (bgp_terminate) workqueue's are lazy allocated and its
  possible to terminate bgpd before workqueues were setup, causing
  an abort/crash. Reported by Ashish Mehta of Sun.

bgpd/ChangeLog
bgpd/bgpd.c

index 254d5aff68c5cc982504001b9ae4a8d82bc71cff..6bd444d57d7323d80fdd0c7947275e8fa88c4dcb 100644 (file)
@@ -1,3 +1,9 @@
+2005-06-15 Paul Jakma <paul.jakma@sun.com>
+
+       * bgpd.c: (bgp_terminate) workqueue's are lazy allocated and its
+         possible to terminate bgpd before workqueues were setup, causing
+         an abort/crash. Reported by Ashish Mehta of Sun.
+
 2005-06-01 Paul Jakma <paul.jakma@sun.com>
 
        * (general) refcount struct peer and bgp_info, hence allowing us
index 83cf9a8dfda7c0d100e34bfd493151dd05121d6d..9473d6f8f9605593ef6efe451dcbfbb58ff98a40 100644 (file)
@@ -4977,7 +4977,9 @@ bgp_terminate ()
                            BGP_NOTIFY_CEASE_PEER_UNCONFIG);
   
   bgp_cleanup_routes ();
-  work_queue_free (bm->process_main_queue);
-  work_queue_free (bm->process_rsclient_queue);
+  if (bm->process_main_queue)
+    work_queue_free (bm->process_main_queue);
+  if (bm->process_rsclient_queue)
+    work_queue_free (bm->process_rsclient_queue);
 }