bab9bb6b69
Create new directories: ceph config config-files filesystem kernel kernel/kernel-modules ldap logging strorage-drivers tools utilities virt Retire directories: connectivity core devtools support extended Delete two packages: tgt irqbalance Relocated packages: base/ dhcp initscripts libevent lighttpd linuxptp memcached net-snmp novnc ntp openssh pam procps sanlock shadow sudo systemd util-linux vim watchdog ceph/ python-cephclient config/ facter puppet-4.8.2 puppet-modules filesystem/ e2fsprogs nfs-utils nfscheck kernel/ kernel-std kernel-rt kernel/kernel-modules/ mlnx-ofa_kernel ldap/ nss-pam-ldapd openldap logging/ syslog-ng logrotate networking/ lldpd iproute mellanox python-ryu mlx4-config python/ python-2.7.5 python-django python-gunicorn python-setuptools python-smartpm python-voluptuous security/ shim-signed shim-unsigned tboot strorage-drivers/ python-3parclient python-lefthandclient virt/ cloud-init libvirt libvirt-python qemu tools/ storage-topology vm-topology utilities/ tis-extensions namespace-utils nova-utils update-motd Change-Id: I37ade764d873c701b35eac5881eb40412ba64a86 Story: 2002801 Task: 22687 Signed-off-by: Scott Little <scott.little@windriver.com>
56 lines
1.7 KiB
Diff
56 lines
1.7 KiB
Diff
---
|
|
http.c | 25 ++++++++++++++++++-------
|
|
1 file changed, 18 insertions(+), 7 deletions(-)
|
|
|
|
--- a/http.c
|
|
+++ b/http.c
|
|
@@ -1325,6 +1325,9 @@ evhttp_error_cb(struct bufferevent *bufe
|
|
struct evhttp_connection *evcon = arg;
|
|
struct evhttp_request *req = TAILQ_FIRST(&evcon->requests);
|
|
|
|
+ if (evcon->fd == -1)
|
|
+ evcon->fd = bufferevent_getfd(bufev);
|
|
+
|
|
switch (evcon->state) {
|
|
case EVCON_CONNECTING:
|
|
if (what & BEV_EVENT_TIMEOUT) {
|
|
@@ -1390,6 +1393,9 @@ evhttp_connection_cb(struct bufferevent
|
|
int error;
|
|
ev_socklen_t errsz = sizeof(error);
|
|
|
|
+ if (evcon->fd == -1)
|
|
+ evcon->fd = bufferevent_getfd(bufev);
|
|
+
|
|
if (!(what & BEV_EVENT_CONNECTED)) {
|
|
/* some operating systems return ECONNREFUSED immediately
|
|
* when connecting to a local address. the cleanup is going
|
|
@@ -2189,16 +2195,21 @@ evhttp_connection_connect(struct evhttp_
|
|
EVUTIL_ASSERT(!(evcon->flags & EVHTTP_CON_INCOMING));
|
|
evcon->flags |= EVHTTP_CON_OUTGOING;
|
|
|
|
- evcon->fd = bind_socket(
|
|
- evcon->bind_address, evcon->bind_port, 0 /*reuse*/);
|
|
- if (evcon->fd == -1) {
|
|
- event_debug(("%s: failed to bind to \"%s\"",
|
|
- __func__, evcon->bind_address));
|
|
- return (-1);
|
|
+ if (evcon->bind_address || evcon->bind_port) {
|
|
+ evcon->fd = bind_socket(
|
|
+ evcon->bind_address, evcon->bind_port, 0 /*reuse*/);
|
|
+ if (evcon->fd == -1) {
|
|
+ event_debug(("%s: failed to bind to \"%s\"",
|
|
+ __func__, evcon->bind_address));
|
|
+ return (-1);
|
|
+ }
|
|
+
|
|
+ bufferevent_setfd(evcon->bufev, evcon->fd);
|
|
+ } else {
|
|
+ bufferevent_setfd(evcon->bufev, -1);
|
|
}
|
|
|
|
/* Set up a callback for successful connection setup */
|
|
- bufferevent_setfd(evcon->bufev, evcon->fd);
|
|
bufferevent_setcb(evcon->bufev,
|
|
NULL /* evhttp_read_cb */,
|
|
NULL /* evhttp_write_cb */,
|