X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ofproto%2Fcollectors.c;h=f0639836ef0d7a898f87581904178575c27064d6;hb=b9f9f37fb7a85dbe58a260f6e1b745a17db66dd5;hp=4589f32985e60afd9ac9f781f55dc3c5d435557f;hpb=49c36903d6d65bed96cba31f05534510a21a68d7;p=openvswitch diff --git a/ofproto/collectors.c b/ofproto/collectors.c index 4589f329..f0639836 100644 --- a/ofproto/collectors.c +++ b/ofproto/collectors.c @@ -111,13 +111,15 @@ collectors_destroy(struct collectors *c) void collectors_send(const struct collectors *c, const void *payload, size_t n) { - size_t i; + if (c) { + size_t i; - for (i = 0; i < c->n_fds; i++) { - static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5); - if (send(c->fds[i], payload, n, 0) == -1) { - VLOG_WARN_RL(&rl, "sending to collector failed: %s", - strerror(errno)); + for (i = 0; i < c->n_fds; i++) { + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5); + if (send(c->fds[i], payload, n, 0) == -1) { + VLOG_WARN_RL(&rl, "sending to collector failed: %s", + strerror(errno)); + } } } } @@ -125,5 +127,5 @@ collectors_send(const struct collectors *c, const void *payload, size_t n) int collectors_count(const struct collectors *c) { - return c->n_fds; + return c ? c->n_fds : 0; }