コード例 #1
0
ファイル: WSASendDisconnect.cpp プロジェクト: IFGHou/Holodeck
BOOL My_WSASendDisconnect()
{
	SOCKET s=NULL;
	LPWSABUF lpOutboundDisconnectData=NULL;
	int returnVal_Real = NULL;
	int returnVal_Intercepted = NULL;

	DWORD error_Real = 0;
	DWORD error_Intercepted = 0;
	disableInterception();
	returnVal_Real = WSASendDisconnect (s,lpOutboundDisconnectData);
	error_Real = GetLastError();
	enableInterception();
	returnVal_Intercepted = WSASendDisconnect (s,lpOutboundDisconnectData);
	error_Intercepted = GetLastError();
	return ((returnVal_Real == returnVal_Intercepted) && (error_Real == error_Intercepted));
}
コード例 #2
0
ファイル: WSASendDisconnect.cpp プロジェクト: IFGHou/Holodeck
BOOL My_WSASendDisconnect()
{
	SOCKET s=NULL;
	LPWSABUF lpOutboundDisconnectData=NULL;
	int returnVal_Real = NULL;
	int returnVal_Intercepted = NULL;

	DWORD error_Real = 0;
	DWORD error_Intercepted = 0;
	__try{
	disableInterception();
	returnVal_Real = WSASendDisconnect (s,lpOutboundDisconnectData);
	error_Real = GetLastError();
	enableInterception();
	returnVal_Intercepted = WSASendDisconnect (s,lpOutboundDisconnectData);
	error_Intercepted = GetLastError();
	}__except(puts("in filter"), 1){puts("exception caught");}
	return ((returnVal_Real == returnVal_Intercepted) && (error_Real == error_Intercepted));
}
コード例 #3
0
ファイル: socket_md.c プロジェクト: AllenWeb/openjdk-1
int
dbgsysSocketClose(int fd) {
    struct linger l;
    int len = sizeof(l);

    if (getsockopt(fd, SOL_SOCKET, SO_LINGER, (char *)&l, &len) == 0) {
        if (l.l_onoff == 0) {
            WSASendDisconnect(fd, NULL);
        }
    }
    return closesocket(fd);
}
コード例 #4
0
ファイル: ipv6win.c プロジェクト: jocelyn/EiffelStudio_old
static int net_socket_close(SOCKET fd) {
	struct linger l;
	int ret;
	int len = sizeof (l);
	if (getsockopt(fd, SOL_SOCKET, SO_LINGER, (char *)&l, &len) == 0) {
		if (l.l_onoff == 0) {
			WSASendDisconnect(fd, NULL);
		}
	}
	ret = closesocket (fd);
	return ret;
}
コード例 #5
0
ファイル: SocketDispatcher.c プロジェクト: satdoug/jdk8u-jdk
JNIEXPORT void JNICALL
Java_sun_nio_ch_SocketDispatcher_preClose0(JNIEnv *env, jclass clazz,
        jobject fdo)
{
    jint fd = fdval(env, fdo);
    struct linger l;
    int len = sizeof(l);
    if (getsockopt(fd, SOL_SOCKET, SO_LINGER, (char *)&l, &len) == 0) {
        if (l.l_onoff == 0) {
            WSASendDisconnect(fd, NULL);
        }
    }
}
コード例 #6
0
JNIEXPORT int JNICALL
NET_SocketClose(int fd) {
    struct linger l;
    int ret;
    int len = sizeof (l);
    if (getsockopt(fd, SOL_SOCKET, SO_LINGER, (char *)&l, &len) == 0) {
	if (l.l_onoff == 0) {
	    WSASendDisconnect(fd, NULL);
	}
    }
    ret = closesocket (fd);
    return ret;
}