diff options
author | Quentin Young <qlyoung@cumulusnetworks.com> | 2017-06-08 23:14:18 +0200 |
---|---|---|
committer | Quentin Young <qlyoung@cumulusnetworks.com> | 2017-11-30 22:18:01 +0100 |
commit | b750b0ba76767ce5eed186cdb53c44001d08a7ef (patch) | |
tree | 1c3b749def6e669e967ed5d5683cab4c29f1e639 /bgpd/bgp_network.c | |
parent | bgpd: bye bye THREAD_BACKGROUND (diff) | |
download | frr-b750b0ba76767ce5eed186cdb53c44001d08a7ef.tar.xz frr-b750b0ba76767ce5eed186cdb53c44001d08a7ef.zip |
bgpd: small i/o threading improvements
* Start bit flags at 1, not 2
* Make run-flags atomic for i/o thread
* Remove work_cond mutex, it should no longer be necessary
* Add asserts to ensure proper ordering in bgp_connect()
* Use true/false with booleans, not 1/0
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Diffstat (limited to 'bgpd/bgp_network.c')
-rw-r--r-- | bgpd/bgp_network.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c index 0d7680ea5..bf39cbe1f 100644 --- a/bgpd/bgp_network.c +++ b/bgpd/bgp_network.c @@ -550,6 +550,8 @@ static int bgp_update_source(struct peer *peer) /* BGP try to connect to the peer. */ int bgp_connect(struct peer *peer) { + assert(!CHECK_FLAG(peer->thread_flags, PEER_THREAD_WRITES_ON)); + assert(!CHECK_FLAG(peer->thread_flags, PEER_THREAD_READS_ON)); ifindex_t ifindex = 0; if (peer->conf_if && BGP_PEER_SU_UNSPEC(peer)) { |