You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by lv...@apache.org on 2008/05/07 13:41:28 UTC

svn commit: r654075 - in /harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp: common/agent/commands/ common/agent/core/ common/generic/ common/transport/common/ common/transport/dt_socket/ unix/agent/ unix/agent/core/ unix/trans...

Author: lvjing
Date: Wed May  7 04:41:26 2008
New Revision: 654075

URL: http://svn.apache.org/viewvc?rev=654075&view=rev
Log:
modify according to new j9 portlib update.

Modified:
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/commands/ClassType.cpp
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/ObjectManager.cpp
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/ObjectManager.h
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/TransportManager.cpp
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/TransportManager.h
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/generic/jdwp.h
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/common/LastTransportError.cpp
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/common/LastTransportError.h
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/dt_socket/SocketTransport.cpp
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/dt_socket/SocketTransport.h
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/agent/core/TransportManager_pd.cpp
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/agent/makefile
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/transport/dt_socket/SocketTransport_pd.h
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/transport/makefile
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/agent/core/TransportManager_pd.cpp
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/agent/makefile
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/transport/dt_socket/SocketTransport_pd.h
    harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/transport/makefile

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/commands/ClassType.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/commands/ClassType.cpp?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/commands/ClassType.cpp (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/commands/ClassType.cpp Wed May  7 04:41:26 2008
@@ -82,8 +82,8 @@
         // Can be: JVMTI_ERROR_INVALID_CLASS, JVMTI_ERROR_NULL_POINTER
         throw AgentException(err);
     }
-    jint const JVMTI_CLASS_STATUS_PREPARED = 0x2;
-    if ( (status & JVMTI_CLASS_STATUS_PREPARED) == 0 ) {
+    // jint const JVMTI_CLASS_STATUS_PREPARED = 0x2 ;
+    if ( (status & 0x2) == 0 ) {
         throw AgentException(JDWP_ERROR_CLASS_NOT_PREPARED);
     }
 

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/ObjectManager.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/ObjectManager.cpp?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/ObjectManager.cpp (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/ObjectManager.cpp Wed May  7 04:41:26 2008
@@ -249,7 +249,7 @@
             JDWP_TRACE_MAP("## DisableCollection: NewGlobalRef returned NULL");
             throw OutOfMemoryException();
         }
-        JNIEnvPtr->DeleteWeakGlobalRef(jvmObject);
+        JNIEnvPtr->DeleteWeakGlobalRef((jweak)jvmObject);
         objectIDItem->mapObjectIDItem.globalRefKind = NORMAL_GLOBAL_REF;
         objectIDItem->mapObjectIDItem.jvmObject = newGlobRef;
     } // synchronized block: objectIDTableLock
@@ -431,7 +431,7 @@
         if (objectIDItem->mapObjectIDItem.globalRefKind == NORMAL_GLOBAL_REF) {
             JNIEnvPtr->DeleteGlobalRef(jvmObject);
         } else {
-            JNIEnvPtr->DeleteWeakGlobalRef(jvmObject);
+            JNIEnvPtr->DeleteWeakGlobalRef((jweak)jvmObject);
         }
         objectIDItem->objectID = FREE_OBJECTID_SIGN;
         objectIDItem->nextFreeObjectIDItem = m_freeObjectIDItems[idx];
@@ -503,7 +503,7 @@
                     if (objectIDItem->mapObjectIDItem.globalRefKind == NORMAL_GLOBAL_REF) {
                         JNIEnvPtr->DeleteGlobalRef(objectIDItem->mapObjectIDItem.jvmObject);
                     } else {
-                        JNIEnvPtr->DeleteWeakGlobalRef(objectIDItem->mapObjectIDItem.jvmObject);
+                        JNIEnvPtr->DeleteWeakGlobalRef((jweak)objectIDItem->mapObjectIDItem.jvmObject);
                     }
                 }
                 objectIDItem++;
@@ -643,7 +643,7 @@
     for (size_t idx = 0; idx < HASH_TABLE_SIZE; idx++) {
         if (m_refTypeIDTable[idx]) {
             for (size_t item = 0; item < m_refTypeIDTableUsed[idx]; item++)
-                JNIEnvPtr->DeleteWeakGlobalRef(m_refTypeIDTable[idx][item]);
+                JNIEnvPtr->DeleteWeakGlobalRef((jweak)m_refTypeIDTable[idx][item]);
             GetMemoryManager().Free(m_refTypeIDTable[idx] JDWP_FILE_LINE);
             m_refTypeIDTable[idx] = NULL;
             m_refTypeIDTableUsed[idx] = m_refTypeIDTableSize[idx] = 0;
@@ -925,7 +925,7 @@
                 threadFramesItem++;
                 continue;
             }
-            JNIEnvPtr->DeleteWeakGlobalRef(threadFramesItem->jvmThread);
+            JNIEnvPtr->DeleteWeakGlobalRef((jweak)threadFramesItem->jvmThread);
             threadFramesItem++;
         }
         AgentBase::GetMemoryManager().Free(m_frameIDTable JDWP_FILE_LINE);

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/ObjectManager.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/ObjectManager.h?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/ObjectManager.h (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/ObjectManager.h Wed May  7 04:41:26 2008
@@ -38,6 +38,10 @@
 #include "jdwpTypes.h"
 #include "AgentMonitor.h"
 
+#if defined(ZOS)
+#include <inttypes.h>
+#endif
+
 namespace jdwp {
 
     // hash table parameters

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/TransportManager.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/TransportManager.cpp?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/TransportManager.cpp (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/TransportManager.cpp Wed May  7 04:41:26 2008
@@ -23,8 +23,11 @@
 // TransportManager.cpp
 //
 
+#ifndef USING_VMI
+#define USING_VMI
 #include "TransportManager.h"
 
+
 using namespace jdwp;
 
 static void* 
@@ -63,12 +66,13 @@
         GetMemoryManager().Free(m_address JDWP_FILE_LINE);
     }
     if (m_loadedLib != 0) {
-        jdwpTransport_UnLoad_Type UnloadFunc = reinterpret_cast<jdwpTransport_UnLoad_Type>
-                (GetProcAddress(m_loadedLib, unLoadDecFuncName)); 
-        if ((UnloadFunc != 0) && (m_env != 0)) {
-            (UnloadFunc) (&m_env); 
-        }
-        FreeLibrary(m_loadedLib); 
+	PORT_ACCESS_FROM_JAVAVM(GetJavaVM()); 
+        //jdwpTransport_UnLoad_Type UnloadFunc = reinterpret_cast<jdwpTransport_UnLoad_Type>
+        //        (GetProcAddress(m_loadedLib, unLoadDecFuncName)); 
+	j9sl_close_shared_library ((UDATA)m_loadedLib);
+        //if ((UnloadFunc != 0) && (m_env != 0)) {
+        //    (UnloadFunc) (&m_env); 
+        //}
     }
 } //TransportManager::~TransportManager()
 
@@ -120,8 +124,10 @@
         throw TransportException(JDWP_ERROR_TRANSPORT_LOAD, JDWPTRANSPORT_ERROR_NONE, m_lastErrorMessage);
     }
 
-    jdwpTransport_OnLoad_t transportOnLoad = reinterpret_cast<jdwpTransport_OnLoad_t>
-            (GetProcAddress(m_loadedLib, onLoadDecFuncName));
+    PORT_ACCESS_FROM_JAVAVM(GetJavaVM());
+
+    jdwpTransport_OnLoad_t transportOnLoad;
+    UDATA ret = j9sl_lookup_name((UDATA)m_loadedLib, (char*) onLoadDecFuncName, (UDATA*) &transportOnLoad, "ILLIL");
     if (transportOnLoad == 0) {
         if (m_lastErrorMessage != 0) {
             GetMemoryManager().Free(m_lastErrorMessage JDWP_FILE_LINE);
@@ -133,7 +139,8 @@
         JDWP_ERROR(onLoadDecFuncName << " function not found in " << transportName);
         throw TransportException(JDWP_ERROR_TRANSPORT_INIT, JDWPTRANSPORT_ERROR_NONE, m_lastErrorMessage);
     }
-    jint res = (*transportOnLoad)(GetJavaVM(), &callback, JDWPTRANSPORT_VERSION_1_0, &m_env);
+ 
+ jint res = (*transportOnLoad)(GetJavaVM(), &callback, JDWPTRANSPORT_VERSION_1_0, &m_env);
     if (res == JNI_ENOMEM) {
         if (m_lastErrorMessage != 0) {
             GetMemoryManager().Free(m_lastErrorMessage JDWP_FILE_LINE);
@@ -351,3 +358,47 @@
                 << " cmd=" << (int)(packet->type.cmd.cmd)); 
     } 
 } // TransportManager::TracePacket()
+
+LoadedLibraryHandler TransportManager::LoadTransport(const char* dirName, const char* transportName)
+{
+//    JavaVM *vm = ((internalEnv*)env->functions->reserved1)->jvm;
+    PORT_ACCESS_FROM_JAVAVM(GetJavaVM());
+
+    JDWP_TRACE_ENTRY("LoadTransport(" << JDWP_CHECK_NULL(dirName) << ',' << JDWP_CHECK_NULL(transportName) << ')');
+
+    JDWP_ASSERT(transportName != 0);
+    char* transportFullName = 0;
+#ifdef WIN32
+    if (dirName == 0) {
+        size_t length = strlen(transportName) + 5;
+        transportFullName = static_cast<char *>(GetMemoryManager().Allocate(length JDWP_FILE_LINE));
+        sprintf(transportFullName, "%s.dll", transportName);
+    } else {
+        size_t length = strlen(dirName) + strlen(transportName) + 6;
+        transportFullName = static_cast<char *>(GetMemoryManager().Allocate(length JDWP_FILE_LINE));
+        sprintf(transportFullName, "%s\\%s.dll", dirName, transportName);
+    }
+#else
+    if (dirName == 0) {
+        size_t length = strlen(transportName) + 7;
+        transportFullName = static_cast<char *>(GetMemoryManager().Allocate(length JDWP_FILE_LINE));
+        sprintf(transportFullName, "lib%s.so", transportName);
+    } else {
+        size_t length = strlen(dirName) + strlen(transportName) + 8;
+        transportFullName = static_cast<char *>(GetMemoryManager().Allocate(length JDWP_FILE_LINE));
+        sprintf(transportFullName, "%s/lib%s.so", dirName, transportName);
+    }
+#endif
+//    AgentAutoFree afv(transportFullName JDWP_FILE_LINE);
+    UDATA res;
+    UDATA ret = j9sl_open_shared_library(transportFullName,(UDATA *)&res, FALSE);
+    if (ret != 0) {
+	JDWP_TRACE_PROG("LoadTransport: loading library " << transportFullName << " failed (error code: " << j9error_last_error_message() << ")");
+        //JDWP_TRACE_PROG("LoadTransport: loading library " << transportFullName << " failed (error code: " << GetLastTransportError() << ")");
+    } else {
+        JDWP_TRACE_PROG("LoadTransport: transport library " << transportFullName << " loaded");
+    }
+    return (LoadedLibraryHandler)res;
+}
+
+#endif

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/TransportManager.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/TransportManager.h?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/TransportManager.h (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/agent/core/TransportManager.h Wed May  7 04:41:26 2008
@@ -30,11 +30,14 @@
 #ifndef _TRANSPORT_MANAGER_H_
 #define _TRANSPORT_MANAGER_H_
 
+#include "TransportManager_pd.h"
 #include "jdwpTransport.h"
 #include "AgentBase.h"
 #include "AgentException.h"
 #include "Log.h"
-#include "TransportManager_pd.h"
+#include "vmi.h"
+#include "j9thread.h"
+#include "j9port.h"
 
 namespace jdwp {
 

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/generic/jdwp.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/generic/jdwp.h?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/generic/jdwp.h (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/generic/jdwp.h Wed May  7 04:41:26 2008
@@ -83,8 +83,6 @@
     JDWP_COMMAND_VM_REDEFINE_CLASSES = 18,
     JDWP_COMMAND_VM_SET_DEFAULT_STRATUM = 19,
     JDWP_COMMAND_VM_ALL_CLASSES_WITH_GENERIC= 20,
-	//New commands for Java 6
-    JDWP_COMMAND_VM_INSTANCE_COUNTS = 21,
 
     /* Commands ReferenceType */
     JDWP_COMMAND_RT_SIGNATURE = 1,
@@ -102,10 +100,6 @@
     JDWP_COMMAND_RT_SIGNATURE_WITH_GENERIC = 13,
     JDWP_COMMAND_RT_FIELDS_WITH_GENERIC = 14,
     JDWP_COMMAND_RT_METHODS_WITH_GENERIC = 15,
-    //New commands for Java 6
-    JDWP_COMMAND_RT_INSTANCES = 16,
-    JDWP_COMMAND_RT_CLASS_FILE_VERSION = 17,
-    JDWP_COMMAND_RT_CONSTANT_POOL = 18,
 
     /* Commands ClassType */
     JDWP_COMMAND_CT_SUPERCLASS = 1,
@@ -132,8 +126,6 @@
     JDWP_COMMAND_OR_DISABLE_COLLECTION = 7,
     JDWP_COMMAND_OR_ENABLE_COLLECTION = 8,
     JDWP_COMMAND_OR_IS_COLLECTED = 9,
-    // New commands for Java 6
-    JDWP_COMMAND_OR_REFERRING_OBJECTS = 10,
 
     /* Commands StringReference */
     JDWP_COMMAND_SR_VALUE = 1,
@@ -151,9 +143,6 @@
     JDWP_COMMAND_TR_STOP = 10,
     JDWP_COMMAND_TR_INTERRUPT = 11,
     JDWP_COMMAND_TR_SUSPEND_COUNT = 12,
-    // New command for Java 6
-    JDWP_COMMAND_TR_OWNED_MONITORS_STACK_DEPTH = 13,
-    JDWP_COMMAND_TR_FORCE_EARLY_RETURN = 14,
 
     /* Commands ThreadGroupReference */
     JDWP_COMMAND_TGR_NAME = 1,
@@ -270,13 +259,7 @@
     JDWP_EVENT_VM_INIT = 90,
     JDWP_EVENT_VM_START = JDWP_EVENT_VM_INIT,
     JDWP_EVENT_VM_DEATH = 99,
-    JDWP_EVENT_VM_DISCONNECTED = 100,
-    // New EventKind constants for Java 6
-    JDWP_EVENT_METHOD_EXIT_WITH_RETURN_VALUE = 42,    
-    JDWP_EVENT_MONITOR_CONTENDED_ENTER = 43,    
-    JDWP_EVENT_MONITOR_CONTENDED_ENTERED = 44, 
-    JDWP_EVENT_MONITOR_WAIT = 45,    
-    JDWP_EVENT_MONITOR_WAITED = 46
+    JDWP_EVENT_VM_DISCONNECTED = 100
 } jdwpEventKind;
 
 /* EventRequest/ModifierKind Constants */
@@ -292,9 +275,7 @@
     JDWP_MODIFIER_EXCEPTION_ONLY = 8,
     JDWP_MODIFIER_FIELD_ONLY = 9,
     JDWP_MODIFIER_STEP = 10,
-    JDWP_MODIFIER_INSTANCE_ONLY = 11,
-    // New ModifierKind constants for Java 6
-    JDWP_MODIFIER_SOURCE_NAME_MATCH = 12
+    JDWP_MODIFIER_INSTANCE_ONLY = 11
 } jdwpRequestModifier;
 
 /* ThreadStatus Constants */

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/common/LastTransportError.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/common/LastTransportError.cpp?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/common/LastTransportError.cpp (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/common/LastTransportError.cpp Wed May  7 04:41:26 2008
@@ -20,14 +20,35 @@
  * @author Viacheslav G. Rybalov
  * @version $Revision: 1.6 $
  */
+#include "SocketTransport.h"
 #include "SocketTransport_pd.h"
-
+#include "j9thread.h"
+#define THREAD_ACCESS_FROM_ENV(jniEnv)\
+	VMInterface *threadPrivateVMI = VMI_GetVMIFromJNIEnv(jniEnv);\
+	J9PortLibrary *privatePortLibForThread = (*threadPrivateVMI)->GetPortLibrary(threadPrivateVMI);\
+	J9ThreadLibrary *privateThreadLibrary = privatePortLibForThread->port_get_thread_library(privatePortLibForThread)
 void (*LastTransportError::m_free)(void *buffer) = 0;
 
-LastTransportError::LastTransportError(const char* messagePtr, int errorStatus, 
+static inline ThreadId_t
+_GetCurrentThreadId(JNIEnv* jni)
+{
+   // THREAD_ACCESS_FROM_ENV(jni);
+    ThreadId_t tid ;
+    j9thread_attach(&tid);
+    return tid;
+} // GetCurrentThreadId()
+
+
+static inline bool ThreadId_equal(ThreadId_t treadId1, ThreadId_t treadId2)
+{
+    return (treadId1 == treadId2);
+} // ThreadId_equal()
+
+LastTransportError::LastTransportError(JNIEnv *jni, const char* messagePtr, int errorStatus, 
         void* (*alloc)(jint numBytes), void (*free)(void *buffer))
 {
-    m_treadId = GetCurrentThreadId();
+    m_jni = jni;
+    m_treadId = _GetCurrentThreadId(m_jni);
     m_lastErrorMessage = messagePtr;
     m_lastErrorMessagePrefix = "";
     m_lastErrorStatus = errorStatus;
@@ -65,14 +86,15 @@
 jdwpTransportError
 LastTransportError::insertError(const char* messagePtr, int errorStatus)
 {
-    if (ThreadId_equal(m_treadId, GetCurrentThreadId())) {
+
+    if (ThreadId_equal(m_treadId, _GetCurrentThreadId(m_jni))) {
         m_lastErrorMessage = messagePtr;
         m_lastErrorStatus = errorStatus;
         m_lastErrorMessagePrefix = "";
     } else if (m_next != 0) {
         return m_next->insertError(messagePtr, errorStatus);
     } else {
-        m_next = new(m_alloc, m_free) LastTransportError(messagePtr, errorStatus, m_alloc, m_free);
+        m_next = new(m_alloc, m_free) LastTransportError(m_jni, messagePtr, errorStatus, m_alloc, m_free);
         if (m_next == 0) {
             return JDWPTRANSPORT_ERROR_OUT_OF_MEMORY;
         }
@@ -83,7 +105,7 @@
 jdwpTransportError 
 LastTransportError::addErrorMessagePrefix(const char* prefixPtr)
 {
-    if (ThreadId_equal(m_treadId, GetCurrentThreadId())) {
+    if (ThreadId_equal(m_treadId, _GetCurrentThreadId(m_jni))) {
         m_lastErrorMessagePrefix = (prefixPtr == 0 ? "" : prefixPtr);
     } else if (m_next != 0) {
         return m_next->addErrorMessagePrefix(prefixPtr);
@@ -94,7 +116,7 @@
 int 
 LastTransportError::GetLastErrorStatus()
 {
-    if (ThreadId_equal(m_treadId, GetCurrentThreadId())) {
+    if (ThreadId_equal(m_treadId, _GetCurrentThreadId(m_jni))) {
         return m_lastErrorStatus;
     } else if (m_next != 0) {
         return m_next->GetLastErrorStatus();
@@ -105,7 +127,7 @@
 char* 
 LastTransportError::GetLastErrorMessage() 
 {
-    if (ThreadId_equal(m_treadId, GetCurrentThreadId())) {
+    if (ThreadId_equal(m_treadId, _GetCurrentThreadId(m_jni))) {
         char buf[32];
         sprintf(buf, "%d", m_lastErrorStatus);
 

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/common/LastTransportError.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/common/LastTransportError.h?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/common/LastTransportError.h (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/common/LastTransportError.h Wed May  7 04:41:26 2008
@@ -31,6 +31,11 @@
 #define _LASTTRANSPORTERROR_H
 
 #include "SocketTransport_pd.h"
+#include "jni.h"
+#include "jvmti.h"
+#include "j9thread.h"
+#include "jdwpTransport.h"
+typedef j9thread_t ThreadId_t;
 
 /**
  * The given class is a container for message and status code of the last 
@@ -50,7 +55,7 @@
      * @param free        - the pointer to the function deallocating the memory 
      *                      area 
      */
-    LastTransportError(const char* messagePtr, int errorStatus, 
+    LastTransportError(JNIEnv *jni, const char* messagePtr, int errorStatus, 
         void* (*alloc)(jint numBytes), void (*free)(void *buffer));
 
     /**
@@ -102,6 +107,7 @@
     void operator delete(void* address, void* (*alloc)(jint numBytes), void (*free)(void *buffer));
 
 private:
+    JNIEnv* m_jni;
     ThreadId_t m_treadId;             // the thread Id
     const char* m_lastErrorMessage;   // diagnostics for the last failed operation 
     const char* m_lastErrorMessagePrefix;   // diagnostics prefix for the last failed operation  

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/dt_socket/SocketTransport.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/dt_socket/SocketTransport.cpp?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/dt_socket/SocketTransport.cpp (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/dt_socket/SocketTransport.cpp Wed May  7 04:41:26 2008
@@ -28,7 +28,136 @@
  * Main module.
  */
 
+#ifndef USING_VMI
+#define USING_VMI
 #include "SocketTransport_pd.h"
+#include "j9socket.h"
+#include "j9sock.h"
+
+typedef struct PortlibPTBuffers_struct
+{
+  struct PortlibPTBuffers_struct *next;	      /**< Next per thread buffer */
+  struct PortlibPTBuffers_struct *previous;   /**< Previous per thread buffer */
+  I_32 platformErrorCode;		      /**< error code as reported by the OS */
+  I_32 portableErrorCode;		      /**< error code translated to portable format by application */
+  char *errorMessageBuffer;		      /**< last saved error message, either customized or from OS */
+  U_32 errorMessageBufferSize;		      /**< error message buffer size */
+  I_32 reportedErrorCode;		      /**< last reported error code */
+  char *reportedMessageBuffer;		      /**< last reported error message, either customized or from OS */
+  U_32 reportedMessageBufferSize;	      /**< reported message buffer size */
+  j9fdset_t fdset;			      /**< file descriptor set */
+  j9addrinfo_struct addr_info_hints;
+} PortlibPTBuffers_struct;
+
+typedef struct PortlibPTBuffers_struct *PortlibPTBuffers_t;
+
+extern void *VMCALL j9port_tls_get (struct HyPortLibrary *portLibrary);
+
+
+/**
+ * Returns the error status for the last failed operation. 
+ */
+static int
+GetLastErrorStatus(jdwpTransportEnv* env)
+{
+    internalEnv* ienv = (internalEnv*)env->functions->reserved1;
+    PORT_ACCESS_FROM_JAVAVM(ienv->jvm);
+    return j9error_last_error_number();
+} // GetLastErrorStatus
+
+/**
+ * Retrieves the number of milliseconds, substitute for the corresponding Win32 
+ * function.
+ */
+static long 
+GetTickCount(jdwpTransportEnv* env)
+{
+    internalEnv* ienv = (internalEnv*)env->functions->reserved1;
+    PORT_ACCESS_FROM_JAVAVM(ienv->jvm);
+    return (long)j9time_current_time_millis();
+} // GetTickCount
+
+/**
+ * Initializes critical section lock objects.
+ */
+static inline void
+InitializeCriticalSections(jdwpTransportEnv* env)
+{
+    internalEnv* ienv = (internalEnv*)env->functions->reserved1;
+    j9thread_attach(NULL);
+
+    UDATA flags = 0;
+    if (j9thread_monitor_init(&(ienv->readLock), 1) != 0) {
+	printf("initial error\n");
+    }
+
+    if (j9thread_monitor_init(&(ienv->sendLock), 1) != 0) {
+	printf("initial error\n");
+    }
+    
+} //InitializeCriticalSections()
+
+/**
+ * Releases all resources used by critical-section lock objects.
+ */
+static inline void
+DeleteCriticalSections(jdwpTransportEnv* env)
+{
+    internalEnv* ienv = (internalEnv*)env->functions->reserved1;
+
+    j9thread_attach(NULL);
+    j9thread_monitor_destroy(ienv->readLock);
+    j9thread_monitor_destroy(ienv->sendLock);
+} //DeleteCriticalSections()
+
+/**
+ * Waits for ownership of the send critical-section object.
+ */
+static inline void
+EnterCriticalSendSection(jdwpTransportEnv* env)
+{
+    internalEnv* ienv = (internalEnv*)env->functions->reserved1;
+
+    j9thread_attach(NULL);
+    j9thread_monitor_enter(ienv->sendLock);
+} //EnterCriticalSendSection()
+
+/**
+ * Waits for ownership of the read critical-section object.
+ */
+static inline void
+EnterCriticalReadSection(jdwpTransportEnv* env)
+{
+    internalEnv* ienv = (internalEnv*)env->functions->reserved1;
+
+    j9thread_attach(NULL);
+    j9thread_monitor_enter(ienv->readLock);
+} //EnterCriticalReadSection()
+
+/**
+ * Releases ownership of the read critical-section object.
+ */
+static inline void
+LeaveCriticalReadSection(jdwpTransportEnv* env)
+{
+    internalEnv* ienv = (internalEnv*)env->functions->reserved1;
+
+    j9thread_attach(NULL);
+    j9thread_monitor_exit(ienv->readLock);
+} //LeaveCriticalReadSection()
+
+/**
+ * Releases ownership of the send critical-section object.
+ */
+static inline void
+LeaveCriticalSendSection(jdwpTransportEnv* env)
+{
+    internalEnv* ienv = (internalEnv*)env->functions->reserved1;
+
+     j9thread_attach(NULL);
+     j9thread_monitor_exit(ienv->sendLock);
+} //LeaveCriticalSendSection()
+
 
 /**
  * This function sets into internalEnv struct message and status code of last transport error
@@ -40,7 +169,9 @@
     if (ienv->lastError != 0) {
         ienv->lastError->insertError(messagePtr, errorStatus);
     } else {
-        ienv->lastError = new(ienv->alloc, ienv->free) LastTransportError(messagePtr, errorStatus, ienv->alloc, ienv->free);
+	JNIEnv *jni;
+	ienv->jvm->GetEnv((void **)&jni, JNI_VERSION_1_4);
+        ienv->lastError = new(ienv->alloc, ienv->free) LastTransportError(jni, messagePtr, errorStatus, ienv->alloc, ienv->free);
     }
     return;
 } // SetLastTranError
@@ -65,13 +196,72 @@
 static const jint cycle = 1000; // wait cycle in milliseconds 
 
 /**
+ * This function enable/disables socket blocking mode 
+ */
+static bool 
+SetSocketBlockingMode(jdwpTransportEnv* env, j9socket_t sckt, bool isBlocked)
+{
+    JavaVM *vm = ((internalEnv*)env->functions->reserved1)->jvm;
+    PORT_ACCESS_FROM_JAVAVM(vm);
+
+    jint ret = j9sock_set_nonblocking(sckt, isBlocked ? FALSE : TRUE);
+    if (ret != 0){
+	SetLastTranError(env, "socket error", GetLastErrorStatus(env));
+        return false;
+    }
+    return true;
+
+} // SetSocketBlockingMode()
+
+/**
  * This function is used to determine the read status of socket (in terms of select function).
  * The function avoids absolutely blocking select
  */
 static jdwpTransportError 
-SelectRead(jdwpTransportEnv* env, SOCKET sckt, jlong deadline = 0) {
+SelectRead(jdwpTransportEnv* env, j9socket_t sckt, jlong deadline = 0) {
+    internalEnv* ienv = (internalEnv*)env->functions->reserved1;
+    PORT_ACCESS_FROM_JAVAVM(ienv->jvm);
+/*
+#ifdef WIN32
+    SOCKET socket = sckt->ipv4;
+#else
+    SOCKET socket = sckt->sock;
+#endif
+    deadline = deadline == 0 ? 1000 : deadline;
+    if (deadline >= 0) {
+        TIMEVAL tv = {(long)(deadline / 1000), (long)(deadline % 1000)};
+        fd_set fdread;
+        FD_ZERO(&fdread);
+        FD_SET(socket, &fdread);
 
-    jlong currentTimeout = cycle;
+        int ret = select((int)(socket) + 1, &fdread,NULL, NULL, &tv);
+        if (ret < 0) {
+            int err = GetLastErrorStatus(env);
+            // ignore signal interruption
+            if (err != SOCKET_ERROR_EINTR) {
+                SetLastTranError(env, "socket error", err);
+                return JDWPTRANSPORT_ERROR_IO_ERROR;
+            }
+        }
+        if ((ret > 0) && (FD_ISSET(socket, &fdread))) {
+            return JDWPTRANSPORT_ERROR_NONE; //timeout is not occurred
+        }
+    }
+    SetLastTranError(env, "timeout occurred", 0);
+    return JDWPTRANSPORT_ERROR_TIMEOUT; //timeout occurred
+*/
+    jint ret = j9sock_select_read(sckt, (I_32) deadline / 1000 , (I_32) deadline % 1000, FALSE);
+    if (ret == 1){
+	return JDWPTRANSPORT_ERROR_NONE; //timeout is not occurred
+    }
+    if (ret != J9PORT_ERROR_SOCKET_TIMEOUT){
+    	 SetLastTranError(env, "socket error", ret);
+         return JDWPTRANSPORT_ERROR_IO_ERROR;
+    }
+    SetLastTranError(env, "timeout occurred", 0);
+    return JDWPTRANSPORT_ERROR_TIMEOUT; //timeout occurred
+
+/*    jlong currentTimeout = cycle;
     while ((deadline == 0) || ((currentTimeout = (deadline - GetTickCount())) > 0)) {
         currentTimeout = currentTimeout < cycle ? currentTimeout : cycle;
         TIMEVAL tv = {(long)(currentTimeout / 1000), (long)(currentTimeout % 1000)};
@@ -81,7 +271,7 @@
 
         int ret = select((int)sckt + 1, &fdread, NULL, NULL, &tv);
         if (ret == SOCKET_ERROR) {
-            int err = GetLastErrorStatus();
+            int err = GetLastErrorStatus(env);
             // ignore signal interruption
             if (err != SOCKET_ERROR_EINTR) {
                 SetLastTranError(env, "socket error", err);
@@ -94,6 +284,7 @@
     }
     SetLastTranError(env, "timeout occurred", 0);
     return JDWPTRANSPORT_ERROR_TIMEOUT; //timeout occurred
+*/
 } // SelectRead
 
 /**
@@ -101,43 +292,98 @@
  * The function avoids absolutely blocking select
  */
 static jdwpTransportError 
-SelectSend(jdwpTransportEnv* env, SOCKET sckt, jlong deadline = 0) {
+SelectSend(jdwpTransportEnv* env, j9socket_t sckt, jlong deadline = 0) {
+    JavaVM *vm = ((internalEnv*)env->functions->reserved1)->jvm;
+    PORT_ACCESS_FROM_JAVAVM(vm);
 
-    jlong currentTimeout = cycle;
-    while ((deadline == 0) || ((currentTimeout = (deadline - GetTickCount())) > 0)) {
-        currentTimeout = currentTimeout < cycle ? currentTimeout : cycle;
-        TIMEVAL tv = {(long)(currentTimeout / 1000), (long)(currentTimeout % 1000)};
+    j9fdset_struct j9fdSet;
+    
+    I_32 secTime = (long)(deadline / 1000);
+    I_32 uTime = (long)(deadline % 1000);
+
+    j9timeval_struct timeval;
+
+    j9sock_fdset_zero(&j9fdSet);
+    j9sock_fdset_set(sckt,&j9fdSet);
+
+    int ret = j9sock_timeval_init(secTime,uTime,&timeval);
+
+    ret =  j9sock_select(j9sock_fdset_size(sckt),NULL,&j9fdSet,NULL,&timeval);
+
+    if (ret > 0){
+        return JDWPTRANSPORT_ERROR_NONE; //timeout is not occurred
+    }
+    if (ret != J9PORT_ERROR_SOCKET_TIMEOUT){
+    	 SetLastTranError(env, "socket error", ret);
+         return JDWPTRANSPORT_ERROR_IO_ERROR;
+    }
+    SetLastTranError(env, "timeout occurred", 0);
+    return JDWPTRANSPORT_ERROR_TIMEOUT; //timeout occurred
+
+    //jlong currentTimeout = cycle;
+
+// leave a workaround here, wait for new portlib for select APIs
+/* #ifdef WIN32
+    SOCKET socket = sckt->ipv4;
+#else
+    SOCKET socket = sckt->sock;
+#endif
+    deadline = deadline == 0 ? 100 : deadline;
+    if (deadline >= 0) {
+        TIMEVAL tv = {(long)(deadline / 1000), (long)(deadline % 1000)};
         fd_set fdwrite;
         FD_ZERO(&fdwrite);
-        FD_SET(sckt, &fdwrite);
+        FD_SET(socket, &fdwrite);
 
-        int ret = select((int)sckt + 1, NULL, &fdwrite, NULL, &tv);
-        if (ret == SOCKET_ERROR) {
-            int err = GetLastErrorStatus();
+        int ret = select((int)(socket) + 1, NULL, &fdwrite, NULL, &tv);
+        if (ret < 0) {
+            int err = GetLastErrorStatus(env);
             // ignore signal interruption
             if (err != SOCKET_ERROR_EINTR) {
                 SetLastTranError(env, "socket error", err);
                 return JDWPTRANSPORT_ERROR_IO_ERROR;
             }
         }
-        if ((ret > 0) && (FD_ISSET(sckt, &fdwrite))) {
+        if ((ret > 0) && (FD_ISSET(socket, &fdwrite))) {
             return JDWPTRANSPORT_ERROR_NONE; //timeout is not occurred
         }
     }
     SetLastTranError(env, "timeout occurred", 0);
     return JDWPTRANSPORT_ERROR_TIMEOUT; //timeout occurred
-} // SelectRead
+    */
+} // SelectSend
 
 /**
  * This function sends data on a connected socket
  */
 static jdwpTransportError
-SendData(jdwpTransportEnv* env, SOCKET sckt, const char* data, int dataLength, jlong deadline = 0)
+SendData(jdwpTransportEnv* env, j9socket_t sckt, const char* data, int dataLength, jlong deadline = 0)
 {
     long left = dataLength;
     long off = 0;
     int ret;
 
+    JavaVM *vm = ((internalEnv*)env->functions->reserved1)->jvm;
+    PORT_ACCESS_FROM_JAVAVM(vm);
+
+    // Check if block
+    while (left > 0){
+        jdwpTransportError err = SelectSend(env, sckt, deadline);
+        if (err != JDWPTRANSPORT_ERROR_NONE) {
+            return err;
+        }
+
+	ret = j9sock_write (sckt, (U_8 *)data+off, left, J9SOCK_NOFLAGS);
+	if (ret < 0){
+                SetLastTranError(env, "socket error", ret);
+                return JDWPTRANSPORT_ERROR_IO_ERROR; 
+	}
+	left -= ret;
+	off += ret;
+    }    
+    return JDWPTRANSPORT_ERROR_NONE;
+                                                                                                   
+    /*
     while (left > 0) {
         jdwpTransportError err = SelectSend(env, sckt, deadline);
         if (err != JDWPTRANSPORT_ERROR_NONE) {
@@ -145,7 +391,7 @@
         }
         ret = send(sckt, (data + off), left, 0);
         if (ret == SOCKET_ERROR) {
-            int err = GetLastErrorStatus();
+            int err = GetLastErrorStatus(env);
             // ignore signal interruption
             if (err != SOCKET_ERROR_EINTR) {
                 SetLastTranError(env, "socket error", err);
@@ -155,15 +401,18 @@
         left -= ret;
         off += ret;
     } //while
-    return JDWPTRANSPORT_ERROR_NONE;
+    return JDWPTRANSPORT_ERROR_NONE;*/
 } //SendData
 
 /**
  * This function receives data from a connected socket
  */
 static jdwpTransportError
-ReceiveData(jdwpTransportEnv* env, SOCKET sckt, char* buffer, int dataLength, jlong deadline = 0, int* readByte = 0)
+ReceiveData(jdwpTransportEnv* env, j9socket_t sckt, U_8 * buffer, int dataLength, jlong deadline = 0, int* readByte = 0)
 {
+    JavaVM *vm = ((internalEnv*)env->functions->reserved1)->jvm;
+    PORT_ACCESS_FROM_JAVAVM(vm);
+
     long left = dataLength;
     long off = 0;
     int ret;
@@ -177,9 +426,34 @@
         if (err != JDWPTRANSPORT_ERROR_NONE) {
             return err;
         }
+
+ 	ret = j9sock_read(sckt, (U_8 *) (buffer + off), left, J9SOCK_NOFLAGS);
+
+        if (ret < 0) {
+            SetLastTranError(env, "data receiving failed", ret);
+            return JDWPTRANSPORT_ERROR_IO_ERROR;
+        }
+        if (ret == 0) {
+            SetLastTranError(env, "premature EOF", J9SOCK_NOFLAGS);
+            return JDWPTRANSPORT_ERROR_IO_ERROR;
+        }
+        left -= ret;
+        off += ret;
+        if (readByte != 0) {
+            *readByte = off;
+        }
+    } //while
+    return JDWPTRANSPORT_ERROR_NONE;
+
+/*
+    while (left > 0) {
+        jdwpTransportError err = SelectRead(env, sckt, deadline);
+        if (err != JDWPTRANSPORT_ERROR_NONE) {
+            return err;
+        }
         ret = recv(sckt, (buffer + off), left, 0);
         if (ret == SOCKET_ERROR) {
-            int err = GetLastErrorStatus();
+            int err = GetLastErrorStatus(env);
             // ignore signal interruption
             if (err != SOCKET_ERROR_EINTR) {
                 SetLastTranError(env, "data receiving failed", err);
@@ -196,52 +470,35 @@
             *readByte = off;
         }
     } //while
-    return JDWPTRANSPORT_ERROR_NONE;
+    return JDWPTRANSPORT_ERROR_NONE;*/
 } // ReceiveData
 
 /**
- * This function enable/disables socket blocking mode 
- */
-static bool 
-SetSocketBlockingMode(jdwpTransportEnv* env, SOCKET sckt, bool isBlocked)
-{
-    unsigned long ul = isBlocked ? 0 : 1;
-    if (ioctlsocket(sckt, FIONBIO, &ul) == SOCKET_ERROR) {
-        SetLastTranError(env, "socket error", GetLastErrorStatus());
-        return false;
-    }
-    return true;
-} // SetSocketBlockingMode()
-
-/**
  * This function performes handshake procedure
  */
 static jdwpTransportError 
-CheckHandshaking(jdwpTransportEnv* env, SOCKET sckt, jlong handshakeTimeout)
+CheckHandshaking(jdwpTransportEnv* env, j9socket_t sckt, jlong handshakeTimeout)
 {
     const char* handshakeString = "JDWP-Handshake";
-    char receivedString[14]; //length of "JDWP-Handshake"
-
-    jlong deadline = (handshakeTimeout == 0) ? 0 : (jlong)GetTickCount() + handshakeTimeout;
+    U_8 receivedString[14]; //length of "JDWP-Handshake"
 
     jdwpTransportError err;
-    err = SendData(env, sckt, handshakeString, (int)strlen(handshakeString), deadline);
+    err = SendData(env, sckt, handshakeString, (int)strlen(handshakeString), handshakeTimeout);
     if (err != JDWPTRANSPORT_ERROR_NONE) {
         SetLastTranErrorMessagePrefix(env, "'JDWP-Handshake' sending error: ");
         return err;
     }
-
-    err = ReceiveData(env, sckt, receivedString, (int)strlen(handshakeString), deadline);
+ 
+    err = ReceiveData(env, sckt, receivedString, (int)strlen(handshakeString), handshakeTimeout);
+ 
     if (err != JDWPTRANSPORT_ERROR_NONE) {
         SetLastTranErrorMessagePrefix(env, "'JDWP-Handshake' receiving error: ");
         return err;
     }
-
     if (memcmp(receivedString, handshakeString, 14) != 0) {
         SetLastTranError(env, "handshake error, 'JDWP-Handshake' is not received", 0);
         return JDWPTRANSPORT_ERROR_IO_ERROR;
     }
-
     return JDWPTRANSPORT_ERROR_NONE;
 }// CheckHandshaking
 
@@ -249,42 +506,53 @@
  * This function decodes address and populates sockaddr_in structure
  */
 static jdwpTransportError
-DecodeAddress(jdwpTransportEnv* env, const char *address, struct sockaddr_in *sa, bool isServer) 
+DecodeAddress(jdwpTransportEnv* env, const char *address, j9sockaddr_t sa, bool isServer) 
 {
-    memset(sa, 0, sizeof(struct sockaddr_in));
-    sa->sin_family = AF_INET;
+    JavaVM *vm = ((internalEnv*)env->functions->reserved1)->jvm;
+    PORT_ACCESS_FROM_JAVAVM(vm);
+    char * localhost = "127.0.0.1";
+    char * anyhost = "0.0.0.0";
+//    memset(sa, 0, sizeof(struct sockaddr_in));
+//    sa->sin_family = AF_INET;
 
     if ((address == 0) || (*address == 0)) {  //empty address
-        sa->sin_addr.s_addr = isServer ? htonl(INADDR_ANY) : inet_addr("127.0.0.1");
-        sa->sin_port = 0;
+        j9sock_sockaddr(sa,  isServer ? anyhost : localhost, 0);
+//        sa->sin_addr.s_addr = isServer ? htonl(INADDR_ANY) : inet_addr("127.0.0.1");
+//        sa->sin_port = 0;
         return JDWPTRANSPORT_ERROR_NONE;
     }
 
     const char* colon = strchr(address, ':');
     if (colon == 0) {  //address is like "port"
-        sa->sin_port = htons((u_short)atoi(address));
-        sa->sin_addr.s_addr = isServer ? htonl(INADDR_ANY) : inet_addr("127.0.0.1");
+	j9sock_sockaddr(sa,  isServer ? anyhost : localhost,  j9sock_htons((U_16)atoi(address)));
+        //sa->sin_port = htons((u_short)atoi(address));
+        //sa->sin_addr.s_addr = isServer ? htonl(INADDR_ANY) : inet_addr("127.0.0.1");
     } else { //address is like "host:port"
-        sa->sin_port = htons((u_short)atoi(colon + 1));
-
+        //sa->sin_port = htons((u_short)atoi(colon + 1));
         char *hostName = (char*)(((internalEnv*)env->functions->reserved1)
             ->alloc)((jint)(colon - address + 1));
         if (hostName == 0) {
             SetLastTranError(env, "out of memory", 0);
             return JDWPTRANSPORT_ERROR_OUT_OF_MEMORY;
         }
-        memcpy(hostName, address, colon - address);
+	memcpy(hostName, address, colon - address);
         hostName[colon - address] = '\0';
-        sa->sin_addr.s_addr = inet_addr(hostName);
-        if (sa->sin_addr.s_addr == INADDR_NONE) {
+	int ret = j9sock_sockaddr(sa,  hostName, j9sock_htons((U_16)atoi(colon + 1)));
+	if (ret != 0){
+                SetLastTranError(env, "unable to resolve host name", 0);
+                (((internalEnv*)env->functions->reserved1)->free)(hostName);
+                return JDWPTRANSPORT_ERROR_IO_ERROR;
+	}
+        /* sa->sin_addr.s_addr = inet_addr(hostName);
+        if (ret != 0) {
             struct hostent *host = gethostbyname(hostName);
             if (host == 0) {
                 SetLastTranError(env, "unable to resolve host name", 0);
                 (((internalEnv*)env->functions->reserved1)->free)(hostName);
                 return JDWPTRANSPORT_ERROR_IO_ERROR;
             }
-            memcpy(&(sa->sin_addr), host->h_addr_list[0], host->h_length);
-        } //if
+            //TODO delete this memcpy(&(sa->sin_addr), host->h_addr_list[0], host->h_length);
+        } //if*/
         (((internalEnv*)env->functions->reserved1)->free)(hostName);
     } //if
     return JDWPTRANSPORT_ERROR_NONE;
@@ -299,9 +567,8 @@
 {
     memset(capabilitiesPtr, 0, sizeof(JDWPTransportCapabilities));
     capabilitiesPtr->can_timeout_attach = 1;
-    capabilitiesPtr->can_timeout_accept = 1;
+    capabilitiesPtr->can_timeout_accept = 1;       
     capabilitiesPtr->can_timeout_handshake = 1;
-
     return JDWPTRANSPORT_ERROR_NONE;
 } //TCPIPSocketTran_GetCapabilities
 
@@ -310,46 +577,89 @@
  */
 static jdwpTransportError JNICALL 
 TCPIPSocketTran_Close(jdwpTransportEnv* env)
-{
-    SOCKET envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
-    if (envClientSocket == INVALID_SOCKET) {
+{  
+    JavaVM *vm = ((internalEnv*)env->functions->reserved1)->jvm;
+    PORT_ACCESS_FROM_JAVAVM(vm);
+    j9socket_t envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
+    if (envClientSocket == NULL) {
         return JDWPTRANSPORT_ERROR_NONE;
     }
 
-    ((internalEnv*)env->functions->reserved1)->envClientSocket = INVALID_SOCKET;
+    ((internalEnv*)env->functions->reserved1)->envClientSocket = NULL;
+    if (j9sock_socketIsValid(envClientSocket)==0){
+        return JDWPTRANSPORT_ERROR_NONE;
+    }
 
     int err;
-    err = shutdown(envClientSocket, SD_BOTH);
+    err = j9sock_shutdown_input(envClientSocket);
+    if (err == 0){
+	 err = j9sock_shutdown_output(envClientSocket);
+    }
+    if (err != 0) {
+        SetLastTranError(env, "shutdown socket failed", GetLastErrorStatus(env));
+        return JDWPTRANSPORT_ERROR_IO_ERROR;
+    }
+/*#ifdef WIN32
+    SOCKET socket = envClientSocket->ipv4;
+    err = closesocket(socket);
+#else
+    SOCKET socket = envClientSocket->sock;
+    err = close(socket);
+#endif*/ 
+    err = j9sock_close(&envClientSocket);
+
+    if (err != 0) {
+        SetLastTranError(env, "close socket failed", GetLastErrorStatus(env));
+        return JDWPTRANSPORT_ERROR_IO_ERROR;
+    }
+    return JDWPTRANSPORT_ERROR_NONE;
+
+/*    err = shutdown(envClientSocket, SD_BOTH);
     if (err == SOCKET_ERROR) {
-        SetLastTranError(env, "close socket failed", GetLastErrorStatus());
+        SetLastTranError(env, "close socket failed", GetLastErrorStatus(env));
         return JDWPTRANSPORT_ERROR_IO_ERROR;
     }
 
     err = closesocket(envClientSocket);
     if (err == SOCKET_ERROR) {
-        SetLastTranError(env, "close socket failed", GetLastErrorStatus());
+        SetLastTranError(env, "close socket failed", GetLastErrorStatus(env));
         return JDWPTRANSPORT_ERROR_IO_ERROR;
     }
 
-    return JDWPTRANSPORT_ERROR_NONE;
+    return JDWPTRANSPORT_ERROR_NONE;*/
 } //TCPIPSocketTran_Close
 
 /**
  * This function sets socket options SO_REUSEADDR and TCP_NODELAY
  */
 static bool 
-SetSocketOptions(jdwpTransportEnv* env, SOCKET sckt) 
+SetSocketOptions(jdwpTransportEnv* env, j9socket_t sckt) 
 {
-    BOOL isOn = TRUE;
-    if (setsockopt(sckt, SOL_SOCKET, SO_REUSEADDR, (const char*)&isOn, sizeof(isOn)) == SOCKET_ERROR) {                                                              
-        SetLastTranError(env, "setsockopt(SO_REUSEADDR) failed", GetLastErrorStatus());
+    JavaVM *vm = ((internalEnv*)env->functions->reserved1)->jvm;
+    PORT_ACCESS_FROM_JAVAVM(vm);
+
+    BOOLEAN isOn = TRUE;
+
+    if (j9sock_setopt_bool(sckt, J9_SOL_SOCKET, J9_SO_REUSEADDR, &isOn) != 0){
+        SetLastTranError(env, "setsockopt(SO_REUSEADDR) failed", GetLastErrorStatus(env));
         return false;
     }
-    if (setsockopt(sckt, IPPROTO_TCP, TCP_NODELAY, (const char*)&isOn, sizeof(isOn)) == SOCKET_ERROR) {
-        SetLastTranError(env, "setsockopt(TCPNODELAY) failed", GetLastErrorStatus());
+    if (j9sock_setopt_bool(sckt, J9_IPPROTO_IP, J9_TCP_NODELAY,  &isOn) != 0) {
+        SetLastTranError(env, "setsockopt(TCPNODELAY) failed", GetLastErrorStatus(env));
         return false;
     }
+
     return true;
+
+/*    if (setsockopt(sckt, SOL_SOCKET, SO_REUSEADDR, (const char*)&isOn, sizeof(isOn)) == SOCKET_ERROR) {                                                              
+        SetLastTranError(env, "setsockopt(SO_REUSEADDR) failed", GetLastErrorStatus(env));
+        return false;
+    }
+    if (setsockopt(sckt, IPPROTO_TCP, TCP_NODELAY, (const char*)&isOn, sizeof(isOn)) == SOCKET_ERROR) {
+        SetLastTranError(env, "setsockopt(TCPNODELAY) failed", GetLastErrorStatus(env));
+        return false;
+    }
+    return true;*/
 } // SetSocketOptions()
 
 /**
@@ -359,6 +669,12 @@
 TCPIPSocketTran_Attach(jdwpTransportEnv* env, const char* address,
         jlong attachTimeout, jlong handshakeTimeout)
 {
+    internalEnv *ienv = (internalEnv*)env->functions->reserved1;
+    PORT_ACCESS_FROM_JAVAVM(ienv->jvm);
+
+    j9socket_t clientSocket;  
+    j9sockaddr_struct serverSockAddr;  
+                                   
     if ((address == 0) || (*address == 0)) {
         SetLastTranError(env, "address is missing", 0);
         return JDWPTRANSPORT_ERROR_ILLEGAL_ARGUMENT;
@@ -374,27 +690,27 @@
         return JDWPTRANSPORT_ERROR_ILLEGAL_ARGUMENT;
     }
 
-    SOCKET envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
-    if (envClientSocket != INVALID_SOCKET) {
+    j9socket_t envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
+    if (envClientSocket != NULL) {
         SetLastTranError(env, "there is already an open connection to the debugger", 0);
         return JDWPTRANSPORT_ERROR_ILLEGAL_STATE ;
     }
 
-    SOCKET envServerSocket = ((internalEnv*)env->functions->reserved1)->envServerSocket;
-    if (envServerSocket != INVALID_SOCKET) {
+    j9socket_t envServerSocket = ((internalEnv*)env->functions->reserved1)->envServerSocket;
+    if (envServerSocket != NULL) {
         SetLastTranError(env, "transport is currently in listen mode", 0);
         return JDWPTRANSPORT_ERROR_ILLEGAL_STATE ;
     }
 
-    struct sockaddr_in serverSockAddr;
     jdwpTransportError res = DecodeAddress(env, address, &serverSockAddr, false);
     if (res != JDWPTRANSPORT_ERROR_NONE) {
         return res;
     }
 
-    SOCKET clientSocket = socket(AF_INET, SOCK_STREAM, 0);
-    if (clientSocket == INVALID_SOCKET) {
-        SetLastTranError(env, "unable to create socket", GetLastErrorStatus());
+    int ret = j9sock_socket(&clientSocket,J9SOCK_AFINET, J9SOCK_STREAM, J9SOCK_DEFPROTOCOL);
+	   // socket(AF_INET, SOCK_STREAM, 0);
+    if (ret != 0) {
+        SetLastTranError(env, "unable to create socket", GetLastErrorStatus(env));
         return JDWPTRANSPORT_ERROR_IO_ERROR;
     }
     
@@ -406,43 +722,49 @@
         if (!SetSocketBlockingMode(env, clientSocket, true)) {
             return JDWPTRANSPORT_ERROR_IO_ERROR;
         }
-        int err = connect(clientSocket, (struct sockaddr *)&serverSockAddr, sizeof(serverSockAddr));
-        if (err == SOCKET_ERROR) {
-            SetLastTranError(env, "connection failed", GetLastErrorStatus());
+        int err = j9sock_connect(clientSocket, &serverSockAddr);
+	//int err = connect(clientSocket, (struct sockaddr *)&serverSockAddr, sizeof(serverSockAddr));
+	if (err != 0 ) {
+            SetLastTranError(env, "connection failed", GetLastErrorStatus(env));
             SetSocketBlockingMode(env, clientSocket, false);
             return JDWPTRANSPORT_ERROR_IO_ERROR;
-        }
+        }  
         if (!SetSocketBlockingMode(env, clientSocket, false)) {
             return JDWPTRANSPORT_ERROR_IO_ERROR;
-        }
+	}
     } else {
         if (!SetSocketBlockingMode(env, clientSocket, false)) {
             return JDWPTRANSPORT_ERROR_IO_ERROR;
         }
-        int err = connect(clientSocket, (struct sockaddr *)&serverSockAddr, sizeof(serverSockAddr));
-        if (err == SOCKET_ERROR) {
-            if (GetLastErrorStatus() != SOCKETWOULDBLOCK) {
-                SetLastTranError(env, "connection failed", GetLastErrorStatus());
+        int err = j9sock_connect(clientSocket, &serverSockAddr);
+        if (err != 0) {
+            if (err != J9PORT_ERROR_SOCKET_WOULDBLOCK) {
+                SetLastTranError(env, "connection failed", GetLastErrorStatus(env));
                 return JDWPTRANSPORT_ERROR_IO_ERROR;
-            } else {  
-                fd_set fdwrite;
+            } else {
+                int ret = SelectSend(env, clientSocket, handshakeTimeout);
+		if (ret == JDWPTRANSPORT_ERROR_NONE){
+			return JDWPTRANSPORT_ERROR_NONE;
+		}
+                return JDWPTRANSPORT_ERROR_IO_ERROR; 
+//TODO delele this selectWrite
+                /*fd_set fdwrite;
                 FD_ZERO(&fdwrite);
                 FD_SET(clientSocket, &fdwrite);
                 TIMEVAL tv = {(long)(attachTimeout / 1000), (long)(attachTimeout % 1000)};
 
                 int ret = select((int)clientSocket + 1, NULL, &fdwrite, NULL, &tv);
                 if (ret == SOCKET_ERROR) {
-                    SetLastTranError(env, "socket error", GetLastErrorStatus());
+                    SetLastTranError(env, "socket error", GetLastErrorStatus(env));
                     return JDWPTRANSPORT_ERROR_IO_ERROR;
                 }
                 if ((ret != 1) || !(FD_ISSET(clientSocket, &fdwrite))) {
                     SetLastTranError(env, "timeout occurred", 0);
                     return JDWPTRANSPORT_ERROR_IO_ERROR;
-                }
+                }*/
             }
         }
     }
-
     EnterCriticalSendSection(env);
     EnterCriticalReadSection(env);
     ((internalEnv*)env->functions->reserved1)->envClientSocket = clientSocket;
@@ -453,7 +775,6 @@
         TCPIPSocketTran_Close(env);
         return res;
     }
-
     return JDWPTRANSPORT_ERROR_NONE;
 } //TCPIPSocketTran_Attach
 
@@ -464,28 +785,32 @@
 TCPIPSocketTran_StartListening(jdwpTransportEnv* env, const char* address, 
         char** actualAddress)
 {
-    SOCKET envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
-    if (envClientSocket != INVALID_SOCKET) {
+    JavaVM *vm = ((internalEnv*)env->functions->reserved1)->jvm;
+    PORT_ACCESS_FROM_JAVAVM(vm);
+
+    j9socket_t envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
+    if (envClientSocket != NULL) {
         SetLastTranError(env, "there is already an open connection to the debugger", 0);
         return JDWPTRANSPORT_ERROR_ILLEGAL_STATE ;
     }
 
-    SOCKET envServerSocket = ((internalEnv*)env->functions->reserved1)->envServerSocket;
-    if (envServerSocket != INVALID_SOCKET) {
+    j9socket_t envServerSocket = ((internalEnv*)env->functions->reserved1)->envServerSocket;
+    if (envServerSocket != NULL) {
         SetLastTranError(env, "transport is currently in listen mode", 0);
         return JDWPTRANSPORT_ERROR_ILLEGAL_STATE ;
     }
 
     jdwpTransportError res;
-    struct sockaddr_in serverSockAddr;
+    j9sockaddr_struct serverSockAddr;
     res = DecodeAddress(env, address, &serverSockAddr, true);
     if (res != JDWPTRANSPORT_ERROR_NONE) {
         return res;
     }
 
-    SOCKET serverSocket = socket(AF_INET, SOCK_STREAM, 0);
-    if (serverSocket == INVALID_SOCKET) {
-        SetLastTranError(env, "unable to create socket", GetLastErrorStatus());
+    j9socket_t serverSocket;
+    int ret = j9sock_socket(&serverSocket,J9SOCK_AFINET, J9SOCK_STREAM, J9SOCK_DEFPROTOCOL); //socket(AF_INET, SOCK_STREAM, 0);
+    if (ret != 0) {
+        SetLastTranError(env, "unable to create socket", GetLastErrorStatus(env));
         return JDWPTRANSPORT_ERROR_IO_ERROR;
     }
 
@@ -495,15 +820,16 @@
 
     int err;
 
-    err = bind(serverSocket, (struct sockaddr *)&serverSockAddr, sizeof(serverSockAddr));
-    if (err == SOCKET_ERROR) {
-        SetLastTranError(env, "binding to port failed", GetLastErrorStatus());
+    err = j9sock_bind (serverSocket, &serverSockAddr);
+    // bind(serverSocket, (struct sockaddr *)&serverSockAddr, sizeof(serverSockAddr));
+    if (err != 0 ) {
+        SetLastTranError(env, "binding to port failed", GetLastErrorStatus(env));
         return JDWPTRANSPORT_ERROR_ILLEGAL_STATE ;
     }
 
-    err = listen(serverSocket, SOMAXCONN);
-    if (err == SOCKET_ERROR) {
-        SetLastTranError(env, "listen start failed", GetLastErrorStatus());
+    err = j9sock_listen(serverSocket, J9SOCK_MAXCONN);
+    if (err != 0) {
+        SetLastTranError(env, "listen start failed", GetLastErrorStatus(env));
         return JDWPTRANSPORT_ERROR_ILLEGAL_STATE ;
     }
 
@@ -513,10 +839,9 @@
 
     ((internalEnv*)env->functions->reserved1)->envServerSocket = serverSocket;
 
-    socklen_t len = sizeof(serverSockAddr);
-    err = getsockname(serverSocket, (struct sockaddr *)&serverSockAddr, &len);
-    if (err == SOCKET_ERROR) {
-        SetLastTranError(env, "socket error", GetLastErrorStatus());
+    err = j9sock_getsockname(serverSocket, &serverSockAddr);
+    if (err != 0) {
+        SetLastTranError(env, "socket error", GetLastErrorStatus(env));
         return JDWPTRANSPORT_ERROR_ILLEGAL_STATE ;
     }
 
@@ -547,7 +872,8 @@
         SetLastTranError(env, "out of memory", 0);
         return JDWPTRANSPORT_ERROR_OUT_OF_MEMORY;
     }
-    sprintf(retAddress, "%d", ntohs(serverSockAddr.sin_port));
+    // print server port
+    sprintf(retAddress, "%d",j9sock_sockaddr_port(&serverSockAddr));
 
     *actualAddress = retAddress;
 
@@ -560,17 +886,27 @@
 static jdwpTransportError JNICALL 
 TCPIPSocketTran_StopListening(jdwpTransportEnv* env)
 {
-    SOCKET envServerSocket = ((internalEnv*)env->functions->reserved1)->envServerSocket;
-    if (envServerSocket == INVALID_SOCKET) {
+    JavaVM *vm = ((internalEnv*)env->functions->reserved1)->jvm;
+    PORT_ACCESS_FROM_JAVAVM(vm);
+
+    j9socket_t envServerSocket = ((internalEnv*)env->functions->reserved1)->envServerSocket;
+    if (envServerSocket == NULL) {
         return JDWPTRANSPORT_ERROR_NONE;
     }
-
-    if (closesocket(envServerSocket) == SOCKET_ERROR) {
-        SetLastTranError(env, "close socket failed", GetLastErrorStatus());
+/*#ifdef WIN32
+    SOCKET socket = envServerSocket->ipv4;
+    int err = closesocket(socket);
+#else
+    SOCKET socket = envServerSocket->sock;
+    int err = close(socket);
+#endif */
+    int err = j9sock_close(&envServerSocket);
+    if (err != 0) {
+        SetLastTranError(env, "close socket failed", GetLastErrorStatus(env));
         return JDWPTRANSPORT_ERROR_IO_ERROR;
     }
 
-    ((internalEnv*)env->functions->reserved1)->envServerSocket = INVALID_SOCKET;
+    ((internalEnv*)env->functions->reserved1)->envServerSocket = NULL;
 
     return JDWPTRANSPORT_ERROR_NONE;
 } //TCPIPSocketTran_StopListening
@@ -582,6 +918,9 @@
 TCPIPSocketTran_Accept(jdwpTransportEnv* env, jlong acceptTimeout,
         jlong handshakeTimeout)
 {
+    JavaVM *vm = ((internalEnv*)env->functions->reserved1)->jvm;
+    PORT_ACCESS_FROM_JAVAVM(vm);
+
     if (acceptTimeout < 0) {
         SetLastTranError(env, "acceptTimeout timeout is negative", 0);
         return JDWPTRANSPORT_ERROR_ILLEGAL_ARGUMENT;
@@ -592,35 +931,43 @@
         return JDWPTRANSPORT_ERROR_ILLEGAL_ARGUMENT;
     }
 
-    SOCKET envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
-    if (envClientSocket != INVALID_SOCKET) {
+    j9socket_t envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
+    if (envClientSocket != NULL) {
         SetLastTranError(env, "there is already an open connection to the debugger", 0);
         return JDWPTRANSPORT_ERROR_ILLEGAL_STATE ;
     }
 
-    SOCKET envServerSocket = ((internalEnv*)env->functions->reserved1)->envServerSocket;
-    if (envServerSocket == INVALID_SOCKET) {
+    j9socket_t envServerSocket = ((internalEnv*)env->functions->reserved1)->envServerSocket;
+    if (envServerSocket == NULL) {
         SetLastTranError(env, "transport is not currently in listen mode", 0);
         return JDWPTRANSPORT_ERROR_ILLEGAL_STATE ;
     }
 
-    struct sockaddr serverSockAddr;
-    socklen_t len = sizeof(serverSockAddr);
-    int res = getsockname(envServerSocket, &serverSockAddr, &len);
+    j9sockaddr_struct serverSockAddr;
+/*    int res = j9sock_getpeername(envServerSocket, &serverSockAddr);
     if (res == SOCKET_ERROR) {
-        SetLastTranError(env, "connection failed", GetLastErrorStatus());
+        SetLastTranError(env, "connection failed", GetLastErrorStatus(env));
         return JDWPTRANSPORT_ERROR_IO_ERROR;
-    }
+    }*/
 
-    jlong deadline = (acceptTimeout == 0) ? 0 : (jlong)GetTickCount() + acceptTimeout;
-    jdwpTransportError err = SelectRead(env, envServerSocket, deadline);
-    if (err != JDWPTRANSPORT_ERROR_NONE) {
-        return err;
+    //jlong deadline = (acceptTimeout == 0) ? 0 : (jlong)GetTickCount() + acceptTimeout;
+    I_32 ret = SelectRead(env, envServerSocket, acceptTimeout);
+    //I_32 ret = j9sock_select_read(envServerSocket, (I_32)acceptTimeout/1000, (I_32)acceptTimeout%1000, TRUE);
+
+    if (ret != JDWPTRANSPORT_ERROR_NONE){
+        if (ret != J9PORT_ERROR_SOCKET_TIMEOUT){
+             SetLastTranError(env, "socket error", ret);
+             return JDWPTRANSPORT_ERROR_IO_ERROR;
+        }
+        SetLastTranError(env, "timeout occurred", 0);
+        return JDWPTRANSPORT_ERROR_TIMEOUT; //timeout occurred
     }
 
-    SOCKET clientSocket = accept(envServerSocket, &serverSockAddr, &len);
-    if (clientSocket == INVALID_SOCKET) {
-        SetLastTranError(env, "socket accept failed", GetLastErrorStatus());
+    j9socket_t clientSocket;
+    ret = j9sock_accept(envServerSocket, &serverSockAddr, &clientSocket);
+
+    if (ret != 0) {
+        SetLastTranError(env, "socket accept failed", GetLastErrorStatus(env));
         return JDWPTRANSPORT_ERROR_IO_ERROR;
     }
 
@@ -631,15 +978,13 @@
     EnterCriticalSendSection(env);
     EnterCriticalReadSection(env);
     ((internalEnv*)env->functions->reserved1)->envClientSocket = clientSocket;
-
-    err = CheckHandshaking(env, clientSocket, (long)handshakeTimeout);
+    jdwpTransportError err = CheckHandshaking(env, clientSocket, (long)handshakeTimeout);
     LeaveCriticalReadSection(env);
     LeaveCriticalSendSection(env);
     if (err != JDWPTRANSPORT_ERROR_NONE) {
         TCPIPSocketTran_Close(env);
         return err;
     }
-
     return JDWPTRANSPORT_ERROR_NONE;
 } //TCPIPSocketTran_Accept
 
@@ -649,8 +994,8 @@
 static jboolean JNICALL 
 TCPIPSocketTran_IsOpen(jdwpTransportEnv* env)
 {
-    SOCKET envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
-    if (envClientSocket == INVALID_SOCKET) {
+    j9socket_t envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
+    if (envClientSocket == NULL) {
         return JNI_FALSE;
     }
     return JNI_TRUE;
@@ -660,12 +1005,15 @@
  * This function read packet
  */
 static jdwpTransportError
-ReadPacket(jdwpTransportEnv* env, SOCKET envClientSocket, jdwpPacket* packet)
+ReadPacket(jdwpTransportEnv* env, j9socket_t envClientSocket, jdwpPacket* packet)
 {
+    JavaVM *vm = ((internalEnv*)env->functions->reserved1)->jvm;
+    PORT_ACCESS_FROM_JAVAVM(vm);
+
     jdwpTransportError err;
     int length;
     int readBytes = 0;
-    err = ReceiveData(env, envClientSocket, (char *)&length, sizeof(jint), 0, &readBytes);
+    err = ReceiveData(env, envClientSocket, (U_8 *)&length, sizeof(jint), 0, &readBytes);
     if (err != JDWPTRANSPORT_ERROR_NONE) {
         if (readBytes == 0) {
             packet->type.cmd.len = 0;
@@ -673,36 +1021,35 @@
         }
         return err;
     }
-
-    packet->type.cmd.len = (jint)ntohl(length);
+    packet->type.cmd.len = (jint)j9sock_ntohl(length);
     
     int id;
-    err = ReceiveData(env, envClientSocket, (char *)&(id), sizeof(jint));
+    err = ReceiveData(env, envClientSocket, (U_8 *)&(id), sizeof(jint));
     if (err != JDWPTRANSPORT_ERROR_NONE) {
         return err;
     }
 
-    packet->type.cmd.id = (jint)ntohl(id);
+    packet->type.cmd.id = (jint)j9sock_ntohl(id);
 
-    err = ReceiveData(env, envClientSocket, (char *)&(packet->type.cmd.flags), sizeof(jbyte));
+    err = ReceiveData(env, envClientSocket, (U_8 *)&(packet->type.cmd.flags), sizeof(jbyte));
     if (err != JDWPTRANSPORT_ERROR_NONE) {
         return err;
     }
 
     if (packet->type.cmd.flags & JDWPTRANSPORT_FLAGS_REPLY) {
-        u_short errorCode;
-        err = ReceiveData(env, envClientSocket, (char*)&(errorCode), sizeof(jshort));
+        int errorCode;
+        err = ReceiveData(env, envClientSocket, (U_8*)&(errorCode), sizeof(jshort));
         if (err != JDWPTRANSPORT_ERROR_NONE) {
             return err;
         }
-        packet->type.reply.errorCode = (jshort)ntohs(errorCode); 
+        packet->type.reply.errorCode = (jshort)j9sock_ntohs(errorCode); 
     } else {
-        err = ReceiveData(env, envClientSocket, (char*)&(packet->type.cmd.cmdSet), sizeof(jbyte));
+        err = ReceiveData(env, envClientSocket, (U_8*)&(packet->type.cmd.cmdSet), sizeof(jbyte));
         if (err != JDWPTRANSPORT_ERROR_NONE) {
             return err;
         }
  
-        err = ReceiveData(env, envClientSocket, (char*)&(packet->type.cmd.cmd), sizeof(jbyte));
+        err = ReceiveData(env, envClientSocket, (U_8*)&(packet->type.cmd.cmd), sizeof(jbyte));
         if (err != JDWPTRANSPORT_ERROR_NONE) {
             return err;
         }
@@ -720,7 +1067,7 @@
             SetLastTranError(env, "out of memory", 0);
             return JDWPTRANSPORT_ERROR_OUT_OF_MEMORY;
         }
-        err = ReceiveData(env, envClientSocket, (char *)packet->type.cmd.data, dataLength);
+        err = ReceiveData(env, envClientSocket, (U_8 *)packet->type.cmd.data, dataLength);
         if (err != JDWPTRANSPORT_ERROR_NONE) {
             (((internalEnv*)env->functions->reserved1)->free)(packet->type.cmd.data);
             return err;
@@ -740,8 +1087,8 @@
         return JDWPTRANSPORT_ERROR_ILLEGAL_ARGUMENT;
     }
 
-    SOCKET envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
-    if (envClientSocket == INVALID_SOCKET) {
+    j9socket_t envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
+    if (envClientSocket == NULL) {
         SetLastTranError(env, "there isn't an open connection to a debugger", 0);
         LeaveCriticalReadSection(env);
         return JDWPTRANSPORT_ERROR_ILLEGAL_STATE ;
@@ -757,8 +1104,10 @@
  * This function implements jdwpTransportEnv::WritePacket
  */
 static jdwpTransportError 
-WritePacket(jdwpTransportEnv* env, SOCKET envClientSocket, const jdwpPacket* packet)
+WritePacket(jdwpTransportEnv* env, j9socket_t envClientSocket, const jdwpPacket* packet)
 {
+    JavaVM *vm = ((internalEnv*)env->functions->reserved1)->jvm;
+    PORT_ACCESS_FROM_JAVAVM(vm);
     int packetLength = packet->type.cmd.len;
     if (packetLength < 11) {
         SetLastTranError(env, "invalid packet length", 0);
@@ -772,7 +1121,7 @@
     }
 
     int dataLength = packetLength - 11;
-    packetLength = htonl(packetLength);
+    packetLength = j9sock_htonl(packetLength);
 
     jdwpTransportError err;
     err = SendData(env, envClientSocket, (char*)&packetLength, sizeof(jint));
@@ -780,7 +1129,7 @@
         return err;
     }
 
-    int id = htonl(packet->type.cmd.id);
+    int id = j9sock_htonl (packet->type.cmd.id);
 
     err = SendData(env, envClientSocket, (char*)&id, sizeof(jint));
     if (err != JDWPTRANSPORT_ERROR_NONE) {
@@ -793,7 +1142,7 @@
     }
 
     if (packet->type.cmd.flags & JDWPTRANSPORT_FLAGS_REPLY) {
-        u_short errorCode = htons(packet->type.reply.errorCode);
+        int errorCode = htons(packet->type.reply.errorCode);
         err = SendData(env, envClientSocket, (char*)&errorCode, sizeof(jshort));
         if (err != JDWPTRANSPORT_ERROR_NONE) {
             return err;
@@ -830,10 +1179,10 @@
         return JDWPTRANSPORT_ERROR_ILLEGAL_ARGUMENT;
     }
 
-    SOCKET envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
-    if (envClientSocket == INVALID_SOCKET) {
+    j9socket_t envClientSocket = ((internalEnv*)env->functions->reserved1)->envClientSocket;
+    if (envClientSocket == NULL) {
         SetLastTranError(env, "there isn't an open connection to a debugger", 0);
-        LeaveCriticalSendSection(env);
+        //LeaveCriticalSendSection(env);
         return JDWPTRANSPORT_ERROR_ILLEGAL_STATE;
     }
 
@@ -850,6 +1199,7 @@
 TCPIPSocketTran_GetLastError(jdwpTransportEnv* env, char** message)
 {
     *message = ((internalEnv*)env->functions->reserved1)->lastError->GetLastErrorMessage();
+
     if (*message == 0) {
         return JDWPTRANSPORT_ERROR_MSG_NOT_AVAILABLE;
     }
@@ -875,8 +1225,8 @@
     iEnv->alloc = callback->alloc;
     iEnv->free = callback->free;
     iEnv->lastError = 0;
-    iEnv->envClientSocket = INVALID_SOCKET;
-    iEnv->envServerSocket = INVALID_SOCKET;
+    iEnv->envClientSocket = NULL;
+    iEnv->envServerSocket = NULL;
 
     jdwpTransportNativeInterface_* envTNI = (jdwpTransportNativeInterface_*)callback
         ->alloc(sizeof(jdwpTransportNativeInterface_));
@@ -931,4 +1281,4 @@
     unLoadFree((void*)(*env)->functions);
     unLoadFree((void*)(*env));
 } //jdwpTransport_UnLoad
-
+#endif

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/dt_socket/SocketTransport.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/dt_socket/SocketTransport.h?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/dt_socket/SocketTransport.h (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/common/transport/dt_socket/SocketTransport.h Wed May  7 04:41:26 2008
@@ -33,6 +33,13 @@
 #ifndef _SOCKETTRANSPORT_H
 #define _SOCKETTRANSPORT_H
 
+#include "SocketTransport_pd.h"
+#include "j9thread.h"
+//#include "jni.h"
+
+typedef j9thread_monitor_t CriticalSection;
+//typedef jobject CriticalSection;
+
 struct internalEnv {
     JavaVM *jvm;                    // the JNI invocation interface, provided 
                                     // by the agent 
@@ -40,8 +47,8 @@
                                     // provided by the agent 
     void (*free)(void *buffer);     // the function deallocating an area of memory, 
                                     // provided by the agent
-    SOCKET envClientSocket;         // the client socket, INVALID_SOCKET if closed
-    SOCKET envServerSocket;         // the server socket, INVALID_SOCKET if closed
+    j9socket_t envClientSocket;         // the client socket, INVALID_SOCKET if closed
+    j9socket_t envServerSocket;         // the server socket, INVALID_SOCKET if closed
     LastTransportError* lastError;  // last errors
     CriticalSection readLock;       // the critical-section lock object for socket
                                     // read operations

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/agent/core/TransportManager_pd.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/agent/core/TransportManager_pd.cpp?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/agent/core/TransportManager_pd.cpp (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/agent/core/TransportManager_pd.cpp Wed May  7 04:41:26 2008
@@ -134,7 +134,7 @@
         JDWP_TRACE_PROG("StartDebugger: launched: pid=" << pid);
     }
 }
-
+/*
 ProcPtr jdwp::GetProcAddress(LoadedLibraryHandler libHandler, const char* procName)
 {
     JDWP_TRACE_ENTRY("GetProcAddress(" << libHandler << ',' << JDWP_CHECK_NULL(procName) << ')');
@@ -148,6 +148,7 @@
     return res;
 }
 
+
 bool jdwp::FreeLibrary(LoadedLibraryHandler libHandler)
 {
     JDWP_TRACE_ENTRY("FreeLibrary(" << libHandler << ')');
@@ -184,4 +185,4 @@
         JDWP_TRACE_PROG("LoadTransport: transport library " << transportFullName << " loaded");
     }
     return res;
-}
+}*/

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/agent/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/agent/makefile?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/agent/makefile (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/agent/makefile Wed May  7 04:41:26 2008
@@ -28,8 +28,6 @@
 INCLUDES += -I$(CMNAGENT)commands -I$(CMNAGENT)core \
             -I$(COMMON)generic -Icore
 
-INCLUDES := -I../../../include $(INCLUDES)
-
 LDFLAGS += -lstdc++
 
 BUILDFILES = \
@@ -53,10 +51,9 @@
     $(CMNAGENT)core/ObjectManager.o $(CMNAGENT)core/OptionParser.o $(CMNAGENT)core/PacketDispatcher.o \
     $(CMNAGENT)core/PacketParser.o $(CMNAGENT)core/RequestManager.o $(CMNAGENT)core/RequestModifier.o \
     $(CMNAGENT)core/ThreadManager.o $(CMNAGENT)core/TransportManager.o $(CMNAGENT)core/AgentManager.o \
-    $(CMNAGENT)core/CallBacks.o \
     core/TransportManager_pd.o
 
-MDLLIBFILES = 
+MDLLIBFILES = $(LIBPATH)libj9vmi.a
 
 DLLNAME = ../libjdwp.so
 

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/transport/dt_socket/SocketTransport_pd.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/transport/dt_socket/SocketTransport_pd.h?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/transport/dt_socket/SocketTransport_pd.h (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/transport/dt_socket/SocketTransport_pd.h Wed May  7 04:41:26 2008
@@ -33,24 +33,19 @@
 #define _SOCKETTRANSPORT_PD_H
 
 
-#include <pthread.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include <netdb.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-#include <sys/time.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <netinet/tcp.h> 
-#include <pthread.h>
+#include "LastTransportError.h"
+#include "vmi.h"
+#include "j9thread.h"
+#include "j9socket.h"
+#include "portsock.h"
+#include "j9port.h"
+
+//#include "j9sock.h"
+#include "jni.h"
 
-typedef pthread_mutex_t CriticalSection;
+//typedef pthread_mutex_t CriticalSection;
 typedef int SOCKET;
-typedef pthread_t ThreadId_t;
+//typedef pthread_t ThreadId_t;
 
 #include "jdwpTransport.h"
 #include "LastTransportError.h"
@@ -59,118 +54,8 @@
 typedef timeval TIMEVAL;
 typedef int BOOL;
 
-const int TRUE = 1;
+const int SOCKETWOULDBLOCK = J9PORT_ERROR_SOCKET_WOULDBLOCK;
+const int SOCKET_ERROR_EINTR = J9PORT_ERROR_SOCKET_INTERRUPTED;
 const int SOCKET_ERROR = -1;
-const int SOCKET_ERROR_EINTR = EINTR;
-const int INVALID_SOCKET = -1;
-const int SD_BOTH = 2;
-const int SOCKETWOULDBLOCK = EINPROGRESS;
-
-/**
- * Returns the error status for the last failed operation. 
- */
-static inline int
-GetLastErrorStatus()
-{
-    return errno;
-}
-
-/**
- * Retrieves the number of milliseconds, substitute for the corresponding Win32 
- * function.
- */
-static inline long 
-GetTickCount(void)
-{
-    struct timeval t;
-    gettimeofday(&t, 0);
-    return t.tv_sec * 1000 + (t.tv_usec/1000);
-}
-
-/**
- * Closes socket, substitute for the corresponding Win32 function.
- */
-static inline int 
-closesocket(SOCKET s)
-{
-    return close(s);
-}
-
-/**
- * Closes socket, substitute for the corresponding Win32 function.
- */
-static inline int 
-ioctlsocket( SOCKET s, long cmd, u_long* argp)
-{
-    return ioctl(s, cmd, argp);
-}
-
-/**
- * Initializes critical-section lock objects.
- */
-static inline void
-InitializeCriticalSections(jdwpTransportEnv* env)
-{
-    pthread_mutex_init(&(((internalEnv*)env->functions->reserved1)->readLock), 0);
-    pthread_mutex_init(&(((internalEnv*)env->functions->reserved1)->sendLock), 0);
-}
- 
-/**
- * Releases all resources used by critical-section lock objects.
- */
-static inline void
-DeleteCriticalSections(jdwpTransportEnv* env)
-{
-    pthread_mutex_destroy(&(((internalEnv*)env->functions->reserved1)->readLock));
-    pthread_mutex_destroy(&(((internalEnv*)env->functions->reserved1)->sendLock));
-}
-
-/**
- * Waits for ownership of the read critical-section object.
- */
-static inline void
-EnterCriticalReadSection(jdwpTransportEnv* env)
-{
-    pthread_mutex_lock(&(((internalEnv*)env->functions->reserved1)->readLock));
-}
-
-/**
- * Waits for ownership of the send critical-section object.
- */
-static inline void
-EnterCriticalSendSection(jdwpTransportEnv* env)
-{
-    pthread_mutex_lock(&(((internalEnv*)env->functions->reserved1)->sendLock));
-}
-
-/**
- * Releases ownership of the read critical-section object.
- */
-static inline void
-LeaveCriticalReadSection(jdwpTransportEnv* env)
-{
-    pthread_mutex_unlock(&(((internalEnv*)env->functions->reserved1)->readLock));
-}
-
-/**
- * Releases ownership of the send critical-section object.
- */
-static inline void
-LeaveCriticalSendSection(jdwpTransportEnv* env)
-{
-    pthread_mutex_unlock(&(((internalEnv*)env->functions->reserved1)->sendLock));
-}
-
-static inline ThreadId_t 
-GetCurrentThreadId()
-{
-    return pthread_self();
-} // GetCurrentThreadId()
-
-static inline bool 
-ThreadId_equal(ThreadId_t treadId1, ThreadId_t treadId2)
-{
-    return pthread_equal(treadId1, treadId2) != 0 ? true : false;
-} // ThreadId_equal()
 
 #endif //_SOCKETTRANSPORT_PD_H

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/transport/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/transport/makefile?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/transport/makefile (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/unix/transport/makefile Wed May  7 04:41:26 2008
@@ -30,7 +30,7 @@
 CXXFLAGS += -fpic
 
 INCLUDES += -I$(CMNTRANS)common -I$(CMNTRANS)dt_socket \
-            -I$(COMMON)generic -Idt_socket
+            -I$(COMMON)generic -Idt_socket -I$(HY_HDK)/include/port/unix_include
 
 LDFLAGS += -lstdc++
 
@@ -38,7 +38,7 @@
     $(CMNTRANS)common/LastTransportError.o \
     $(CMNTRANS)dt_socket/SocketTransport.o 
 
-MDLLIBFILES = 
+MDLLIBFILES = $(LIBPATH)libj9vmi.a $(LIBPATH)libj9prt24.so
 
 DLLNAME = ../libdt_socket.so
 

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/agent/core/TransportManager_pd.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/agent/core/TransportManager_pd.cpp?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/agent/core/TransportManager_pd.cpp (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/agent/core/TransportManager_pd.cpp Wed May  7 04:41:26 2008
@@ -99,27 +99,4 @@
     CloseHandle(pi.hThread);
 }
 
-LoadedLibraryHandler TransportManager::LoadTransport(const char* dirName, const char* transportName)
-{
-    JDWP_TRACE_ENTRY("LoadTransport(" << JDWP_CHECK_NULL(dirName) << ',' << JDWP_CHECK_NULL(transportName) << ')');
 
-    JDWP_ASSERT(transportName != 0);
-    char* transportFullName = 0;
-    if (dirName == 0) {
-        size_t length = strlen(transportName) + 5;
-        transportFullName = static_cast<char *>(GetMemoryManager().Allocate(length JDWP_FILE_LINE));
-        sprintf(transportFullName, "%s.dll", transportName);
-    } else {
-        size_t length = strlen(dirName) + strlen(transportName) + 6;
-        transportFullName = static_cast<char *>(GetMemoryManager().Allocate(length JDWP_FILE_LINE));
-        sprintf(transportFullName, "%s\\%s.dll", dirName, transportName);
-    }
-    AgentAutoFree afv(transportFullName JDWP_FILE_LINE);
-    LoadedLibraryHandler res = LoadLibrary(transportFullName);
-    if (res == 0) {
-        JDWP_TRACE_PROG("LoadTransport: loading library " << transportFullName << " failed (error code: " << GetLastError() << ")");
-    } else {
-        JDWP_TRACE_PROG("LoadTransport: transport library " << transportFullName << " loaded");
-    }
-    return res;
-}

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/agent/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/agent/makefile?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/agent/makefile (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/agent/makefile Wed May  7 04:41:26 2008
@@ -30,7 +30,7 @@
          -I$(CMNAGENT)commands -I$(CMNAGENT)core \
          -I$(COMMON)generic -Icore
 
-HYCFLAGS = -I..\..\..\include $(HYCFLAGS) $(INCLUDES) -GX -wd4290
+HYCFLAGS = $(HYCFLAGS) $(INCLUDES) -GX -wd4290
 
 HYLDFLAGS = $(HYLDFLAGS) -def:$(LIBBASE).def
 
@@ -62,7 +62,7 @@
 
 SYSLIBFILES = 
 
-MDLLIBFILES = 
+MDLLIBFILES =$(LIBPATH)vmi.lib $(LIBPATH)j9thr.lib $(LIBPATH)j9prt.lib 
   
 DLLBASE=0x13200000
 COMMENT=/comment:"JDWP agent native code. (c) Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable."

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/transport/dt_socket/SocketTransport_pd.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/transport/dt_socket/SocketTransport_pd.h?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/transport/dt_socket/SocketTransport_pd.h (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/transport/dt_socket/SocketTransport_pd.h Wed May  7 04:41:26 2008
@@ -35,16 +35,18 @@
 #if defined(_WINSOCKAPI_) && !defined(_WINSOCK2API_)
 #undef _WINSOCKAPI_
 #endif
+#ifndef HY_NO_THR
+#define HY_NO_THR
 
 #include <Winsock2.h>
 #include <Ws2tcpip.h>
 
-typedef CRITICAL_SECTION CriticalSection;
-typedef DWORD ThreadId_t;
-
 #include "jdwpTransport.h"
+#include "vmi.h"
+#include "j9port.h"
 #include "LastTransportError.h"
 #include "SocketTransport.h"
+#include "jni.h"
 
 typedef int socklen_t;
 
@@ -59,66 +61,5 @@
 {
     return WSAGetLastError();
 } //GetLastErrorStatus()
-
-/**
- * Initializes critical section lock objects.
- */
-static inline void
-InitializeCriticalSections(jdwpTransportEnv* env)
-{
-    InitializeCriticalSection(&(((internalEnv*)env->functions->reserved1)->readLock));
-    InitializeCriticalSection(&(((internalEnv*)env->functions->reserved1)->sendLock));
-} //InitializeCriticalSections()
-
-/**
- * Releases all resources used by critical-section lock objects.
- */
-static inline void
-DeleteCriticalSections(jdwpTransportEnv* env)
-{
-    DeleteCriticalSection(&(((internalEnv*)env->functions->reserved1)->readLock));
-    DeleteCriticalSection(&(((internalEnv*)env->functions->reserved1)->sendLock));
-} //DeleteCriticalSections()
-
-/**
- * Waits for ownership of the read critical-section object.
- */
-static inline void
-EnterCriticalReadSection(jdwpTransportEnv* env)
-{
-    EnterCriticalSection(&(((internalEnv*)env->functions->reserved1)->readLock));
-} //EnterCriticalReadSection()
-
-/**
- * Waits for ownership of the send critical-section object.
- */
-static inline void
-EnterCriticalSendSection(jdwpTransportEnv* env)
-{
-    EnterCriticalSection(&(((internalEnv*)env->functions->reserved1)->sendLock));
-} //EnterCriticalSendSection()
-
-/**
- * Releases ownership of the read critical-section object.
- */
-static inline void
-LeaveCriticalReadSection(jdwpTransportEnv* env)
-{
-    LeaveCriticalSection(&(((internalEnv*)env->functions->reserved1)->readLock));
-} //LeaveCriticalReadSection()
-
-/**
- * Releases ownership of the send critical-section object.
- */
-static inline void
-LeaveCriticalSendSection(jdwpTransportEnv* env)
-{
-    LeaveCriticalSection(&(((internalEnv*)env->functions->reserved1)->sendLock));
-} //LeaveCriticalSendSection()
-
-static inline bool ThreadId_equal(ThreadId_t treadId1, ThreadId_t treadId2)
-{
-    return (treadId1 == treadId2);
-} // ThreadId_equal()
-
-#endif // _SOCKETTRANSPORT_PD_H
+#endif // HY_NO_THR
+#endif // _SOCKETTRANSPORT_PD_Hi

Modified: harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/transport/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/transport/makefile?rev=654075&r1=654074&r2=654075&view=diff
==============================================================================
--- harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/transport/makefile (original)
+++ harmony/enhanced/jdktools/branches/java6/modules/jpda/src/main/native/jdwp/windows/transport/makefile Wed May  7 04:41:26 2008
@@ -27,6 +27,7 @@
 LIBNAME=$(LIBPATH)$(LIBBASE).lib
 
 INCLUDES = $(INCLUDES) \
+         -I$(HY_HDK)\include\port\win32_include \
          -I$(CMNTRANS)common -I$(CMNTRANS)dt_socket \
          -I$(COMMON)generic -Idt_socket
 
@@ -43,7 +44,7 @@
 
 SYSLIBFILES = 
 
-MDLLIBFILES = 
+MDLLIBFILES =$(LIBPATH)vmi.lib $(LIBPATH)j9thr.lib $(LIBPATH)j9prt.lib
   
 DLLBASE=0x13200000
 COMMENT=/comment:"JDWP socket transport native code. (c) Copyright 2005 - 2006 The Apache Software Foundation or its licensors, as applicable."