diff options
Diffstat (limited to 'libjava/win32.cc')
-rw-r--r-- | libjava/win32.cc | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/libjava/win32.cc b/libjava/win32.cc index daccf0f..e54d926 100644 --- a/libjava/win32.cc +++ b/libjava/win32.cc @@ -9,9 +9,10 @@ Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details. */ #include <config.h> -#include <windows.h> -LONG CALLBACK +#include "platform.h" + +static LONG CALLBACK win32_exception_handler (LPEXCEPTION_POINTERS e) { if (e->ExceptionRecord->ExceptionCode == EXCEPTION_ACCESS_VIOLATION) @@ -21,3 +22,16 @@ win32_exception_handler (LPEXCEPTION_POINTERS e) else return EXCEPTION_CONTINUE_SEARCH; } + +// Platform-specific VM initialization. +void +_Jv_platform_initialize (void) +{ + // Initialise winsock for networking + WSADATA data; + if (WSAStartup (MAKEWORD (1, 1), &data)) + MessageBox (NULL, "Error initialising winsock library.", "Error", + MB_OK | MB_ICONEXCLAMATION); + // Install exception handler + SetUnhandledExceptionFilter (win32_exception_handler); +} |