err = _GAddress_translate_from(connection->m_peer, &from, fromlen);
if (err != GSOCK_NOERROR)
{
err = _GAddress_translate_from(connection->m_peer, &from, fromlen);
if (err != GSOCK_NOERROR)
{
#if defined(__EMX__) || defined(__VISAGECPP__)
ioctl(connection->m_fd, FIONBIO, (char*)&arg, sizeof(arg));
#else
#if defined(__EMX__) || defined(__VISAGECPP__)
ioctl(connection->m_fd, FIONBIO, (char*)&arg, sizeof(arg));
#else
bool GSocket::SetReusable()
{
/* socket must not be null, and must not be in use/already bound */
bool GSocket::SetReusable()
{
/* socket must not be null, and must not be in use/already bound */
void *optval, int *optlen)
{
if (getsockopt(m_fd, level, optname, (char*)optval, (SOCKOPTLEN_T*)optlen) == 0)
void *optval, int *optlen)
{
if (getsockopt(m_fd, level, optname, (char*)optval, (SOCKOPTLEN_T*)optlen) == 0)
const void *optval, int optlen)
{
if (setsockopt(m_fd, level, optname, (const char*)optval, optlen) == 0)
const void *optval, int optlen)
{
if (setsockopt(m_fd, level, optname, (const char*)optval, optlen) == 0)
do
{
ret = recv(m_fd, buffer, size, GSOCKET_MSG_NOSIGNAL);
do
{
ret = recv(m_fd, buffer, size, GSOCKET_MSG_NOSIGNAL);
do
{
ret = recvfrom(m_fd, buffer, size, 0, &from, (WX_SOCKLEN_T *) &fromlen);
do
{
ret = recvfrom(m_fd, buffer, size, 0, &from, (WX_SOCKLEN_T *) &fromlen);
err = _GAddress_translate_from(m_peer, &from, fromlen);
if (err != GSOCK_NOERROR)
{
err = _GAddress_translate_from(m_peer, &from, fromlen);
if (err != GSOCK_NOERROR)
{
do
{
ret = send(m_fd, (char *)buffer, size, GSOCKET_MSG_NOSIGNAL);
do
{
ret = send(m_fd, (char *)buffer, size, GSOCKET_MSG_NOSIGNAL);
do
{
ret = sendto(m_fd, (char *)buffer, size, 0, addr, len);
do
{
ret = sendto(m_fd, (char *)buffer, size, 0, addr, len);