< prev index next >

src/java.base/windows/native/libnet/net_util_md.c

Print this page
rev 14618 : 8158023: SocketExceptions contain too little information sometimes


 198 
 199 void
 200 NET_ThrowCurrent(JNIEnv *env, char *msg)
 201 {
 202     NET_ThrowNew(env, WSAGetLastError(), msg);
 203 }
 204 
 205 void
 206 NET_ThrowSocketException(JNIEnv *env, char* msg)
 207 {
 208     static jclass cls = NULL;
 209     if (cls == NULL) {
 210         cls = (*env)->FindClass(env, "java/net/SocketException");
 211         CHECK_NULL(cls);
 212         cls = (*env)->NewGlobalRef(env, cls);
 213         CHECK_NULL(cls);
 214     }
 215     (*env)->ThrowNew(env, cls, msg);
 216 }
 217 
 218 void
 219 NET_ThrowByNameWithLastError(JNIEnv *env, const char *name,
 220                    const char *defaultDetail) {
 221     char errmsg[255];
 222     sprintf(errmsg, "errno: %d, error: %s\n", WSAGetLastError(), defaultDetail);
 223     JNU_ThrowByNameWithLastError(env, name, errmsg);
 224 }
 225 
 226 jfieldID
 227 NET_GetFileDescriptorID(JNIEnv *env)
 228 {
 229     jclass cls = (*env)->FindClass(env, "java/io/FileDescriptor");
 230     CHECK_NULL_RETURN(cls, NULL);
 231     return (*env)->GetFieldID(env, cls, "fd", "I");
 232 }
 233 
 234 jint  IPv6_supported()
 235 {
 236     SOCKET s = socket(AF_INET6, SOCK_STREAM, 0) ;
 237     if (s == INVALID_SOCKET) {
 238         return JNI_FALSE;
 239     }
 240     closesocket(s);
 241 
 242     return JNI_TRUE;
 243 }
 244 
 245 jint reuseport_supported()




 198 
 199 void
 200 NET_ThrowCurrent(JNIEnv *env, char *msg)
 201 {
 202     NET_ThrowNew(env, WSAGetLastError(), msg);
 203 }
 204 
 205 void
 206 NET_ThrowSocketException(JNIEnv *env, char* msg)
 207 {
 208     static jclass cls = NULL;
 209     if (cls == NULL) {
 210         cls = (*env)->FindClass(env, "java/net/SocketException");
 211         CHECK_NULL(cls);
 212         cls = (*env)->NewGlobalRef(env, cls);
 213         CHECK_NULL(cls);
 214     }
 215     (*env)->ThrowNew(env, cls, msg);
 216 }
 217 








 218 jfieldID
 219 NET_GetFileDescriptorID(JNIEnv *env)
 220 {
 221     jclass cls = (*env)->FindClass(env, "java/io/FileDescriptor");
 222     CHECK_NULL_RETURN(cls, NULL);
 223     return (*env)->GetFieldID(env, cls, "fd", "I");
 224 }
 225 
 226 jint  IPv6_supported()
 227 {
 228     SOCKET s = socket(AF_INET6, SOCK_STREAM, 0) ;
 229     if (s == INVALID_SOCKET) {
 230         return JNI_FALSE;
 231     }
 232     closesocket(s);
 233 
 234     return JNI_TRUE;
 235 }
 236 
 237 jint reuseport_supported()


< prev index next >