summaryrefslogtreecommitdiff
path: root/libjava/win32.cc
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2002-02-07 18:59:52 +0000
committerTom Tromey <tromey@gcc.gnu.org>2002-02-07 18:59:52 +0000
commit73272ce6089d2c44aee23abf515f7d8be808e51d (patch)
tree445027a01135cb59b020bba496158a0fc253ef73 /libjava/win32.cc
parent225909c3c964ea743f202b7e52f3d381e11ab1ae (diff)
downloadgcc-73272ce6089d2c44aee23abf515f7d8be808e51d.tar.gz
prims.cc (_Jv_CreateJavaVM): Call _Jv_platform_initialize.
* prims.cc (_Jv_CreateJavaVM): Call _Jv_platform_initialize. * win32.cc (win32_exception_handler): Now static. * include/win32.h (_Jv_platform_initialize): Declare. (win32_exception_handler): Don't declare. * java/lang/natSystem.cc (currentTimeMillis): Use _Jv_platform_gettimeofday. * posix.cc (_Jv_platform_gettimeofday): Renamed. (_Jv_select): Use new name. (_Jv_platform_initialize): New function. * include/posix.h (_Jv_platform_gettimeofday): Renamed from _Jv_gettimeofday. (_Jv_platform_initialize): Declare. From-SVN: r49583
Diffstat (limited to 'libjava/win32.cc')
-rw-r--r--libjava/win32.cc18
1 files changed, 16 insertions, 2 deletions
diff --git a/libjava/win32.cc b/libjava/win32.cc
index daccf0f94fb..e54d926b0ef 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);
+}