zts_get_pico_socket needs to pass indirect pointer
This commit is contained in:
@@ -413,7 +413,7 @@ namespace ZeroTier
|
|||||||
/*
|
/*
|
||||||
* Gets a pointer to a pico_socket given a file descriptor
|
* Gets a pointer to a pico_socket given a file descriptor
|
||||||
*/
|
*/
|
||||||
int zts_get_pico_socket(int fd, struct pico_socket *s);
|
int zts_get_pico_socket(int fd, struct pico_socket **s);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the number of sockets either already provisioned or waiting to be
|
* Returns the number of sockets either already provisioned or waiting to be
|
||||||
|
|||||||
@@ -868,8 +868,8 @@ int zts_setsockopt(ZT_SETSOCKOPT_SIG)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Disable Nagle's algorithm
|
// Disable Nagle's algorithm
|
||||||
struct pico_socket *p;
|
struct pico_socket *p = NULL;
|
||||||
err = zts_get_pico_socket(fd, p);
|
err = zts_get_pico_socket(fd, &p);
|
||||||
if(p) {
|
if(p) {
|
||||||
int value = 1;
|
int value = 1;
|
||||||
if((err = pico_socket_setoption(p, PICO_TCP_NODELAY, &value)) < 0) {
|
if((err = pico_socket_setoption(p, PICO_TCP_NODELAY, &value)) < 0) {
|
||||||
@@ -1501,7 +1501,7 @@ namespace ZeroTier {
|
|||||||
/* SDK Socket API Helper functions --- DON'T CALL THESE DIRECTLY */
|
/* SDK Socket API Helper functions --- DON'T CALL THESE DIRECTLY */
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
int zts_get_pico_socket(int fd, struct pico_socket *s)
|
int zts_get_pico_socket(int fd, struct pico_socket **s)
|
||||||
{
|
{
|
||||||
int err = 0;
|
int err = 0;
|
||||||
if(!zt1Service) {
|
if(!zt1Service) {
|
||||||
@@ -1518,7 +1518,7 @@ int zts_get_pico_socket(int fd, struct pico_socket *s)
|
|||||||
// during closure - it isn't yet stitched into the clockwork
|
// during closure - it isn't yet stitched into the clockwork
|
||||||
if(conn)
|
if(conn)
|
||||||
{
|
{
|
||||||
s = conn->picosock;
|
*s = conn->picosock;
|
||||||
return 1; // unassigned
|
return 1; // unassigned
|
||||||
}
|
}
|
||||||
else // assigned
|
else // assigned
|
||||||
@@ -1532,7 +1532,7 @@ int zts_get_pico_socket(int fd, struct pico_socket *s)
|
|||||||
}
|
}
|
||||||
else // found everything, begin closure
|
else // found everything, begin closure
|
||||||
{
|
{
|
||||||
s = p->first->picosock;
|
*s = p->first->picosock;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user