Declare directions for sockets between primary and secondary.
In HAST we use two sockets - one for only sending the data and one for only receiving the data. MFC after: 1 month
This commit is contained in:
parent
0a787e13eb
commit
52d273ec99
@ -701,6 +701,11 @@ init_remote(struct hast_resource *res, struct proto_conn **inp,
|
||||
(void)hast_activemap_flush(res);
|
||||
}
|
||||
nv_free(nvin);
|
||||
/* Setup directions. */
|
||||
if (proto_send(out, NULL, 0) == -1)
|
||||
pjdlog_errno(LOG_WARNING, "Unable to set connection direction");
|
||||
if (proto_recv(in, NULL, 0) == -1)
|
||||
pjdlog_errno(LOG_WARNING, "Unable to set connection direction");
|
||||
pjdlog_info("Connected to %s.", res->hr_remoteaddr);
|
||||
if (inp != NULL && outp != NULL) {
|
||||
*inp = in;
|
||||
|
@ -183,6 +183,10 @@ init_remote(struct hast_resource *res, struct nv *nvin)
|
||||
unsigned char *map;
|
||||
size_t mapsize;
|
||||
|
||||
/* Setup direction. */
|
||||
if (proto_send(res->hr_remoteout, NULL, 0) == -1)
|
||||
pjdlog_errno(LOG_WARNING, "Unable to set connection direction");
|
||||
|
||||
map = NULL;
|
||||
mapsize = 0;
|
||||
nvout = nv_alloc();
|
||||
@ -346,6 +350,9 @@ init_remote(struct hast_resource *res, struct nv *nvin)
|
||||
if (map != NULL)
|
||||
free(map);
|
||||
nv_free(nvout);
|
||||
/* Setup direction. */
|
||||
if (proto_recv(res->hr_remotein, NULL, 0) == -1)
|
||||
pjdlog_errno(LOG_WARNING, "Unable to set connection direction");
|
||||
if (res->hr_secondary_localcnt > res->hr_primary_remotecnt &&
|
||||
res->hr_primary_localcnt > res->hr_secondary_remotecnt) {
|
||||
/* Exit on split-brain. */
|
||||
|
Loading…
Reference in New Issue
Block a user