Sha256: 56d4b87ec16eec87ebe3e1b67b8fe9cdc5e951f2eeda5a67aeeb77b0917a18ec

Contents?: true

Size: 1.04 KB

Versions: 46

Compression:

Stored size: 1.04 KB

Contents

/* Ignore ECONNRESET of FreeBSD */
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>

int
ruby_getpeername(int s, struct sockaddr * name,
         socklen_t * namelen)
{
    int err = errno;
    errno = 0;
    s = getpeername(s, name, namelen);
    if (errno == ECONNRESET) {
	errno = 0;
	s = 0;
    }
    else if (errno == 0)
	errno = err;
    return s;
}

int
ruby_getsockname(int s, struct sockaddr * name,
         socklen_t * namelen)
{
    int err = errno;
    errno = 0;
    s = getsockname(s, name, namelen);
    if (errno == ECONNRESET) {
	errno = 0;
	s = 0;
    }
    else if (errno == 0)
	errno = err;
    return s;
}

int
ruby_shutdown(int s, int how)
{
    int err = errno;
    errno = 0;
    s = shutdown(s, how);
    if (errno == ECONNRESET) {
	errno = 0;
	s = 0;
    }
    else if (errno == 0)
	errno = err;
    return s;
}

int
ruby_close(int s)
{
    int err = errno;
    errno = 0;
    s = close(s);
    if (errno == ECONNRESET) {
	errno = 0;
	s = 0;
    }
    else if (errno == 0)
	errno = err;
    return s;
}

Version data entries

46 entries across 46 versions & 2 rubygems

Version Path
rhodes-5.5.18 platform/shared/ruby/missing/close.c
rhodes-5.5.17 platform/shared/ruby/missing/close.c
rhodes-5.5.15 platform/shared/ruby/missing/close.c
rhodes-5.5.0.22 platform/shared/ruby/missing/close.c
rhodes-5.5.2 platform/shared/ruby/missing/close.c
rhodes-5.5.0.7 platform/shared/ruby/missing/close.c
rhodes-5.5.0.3 platform/shared/ruby/missing/close.c
rhodes-5.5.0 platform/shared/ruby/missing/close.c
tauplatform-1.0.3 platform/shared/ruby/missing/close.c
tauplatform-1.0.2 platform/shared/ruby/missing/close.c
tauplatform-1.0.1 platform/shared/ruby/missing/close.c
rhodes-3.5.1.12 platform/shared/ruby/missing/close.c
rhodes-3.3.5 platform/shared/ruby/missing/close.c
rhodes-3.4.2 platform/shared/ruby/missing/close.c
rhodes-3.3.4 platform/shared/ruby/missing/close.c
rhodes-3.3.3 platform/shared/ruby/missing/close.c
rhodes-3.3.3.beta.4 platform/shared/ruby/missing/close.c
rhodes-3.3.3.beta.3 platform/shared/ruby/missing/close.c
rhodes-3.3.3.beta.2 platform/shared/ruby/missing/close.c
rhodes-3.3.3.beta.1 platform/shared/ruby/missing/close.c