Index: /trunk/src/VBox/Runtime/r3/tcp.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/tcp.cpp	(revision 27499)
+++ /trunk/src/VBox/Runtime/r3/tcp.cpp	(revision 27500)
@@ -1004,18 +1004,13 @@
 /**
  * Atomicly updates a socket variable.
- * @returns The old value.
- * @param   pSock   The socket variable to update.
- * @param   Sock    The new value.
- */
-DECLINLINE(RTSOCKET) rtTcpAtomicXchgSock(RTSOCKET volatile *pSock, const RTSOCKET Sock)
-{
-    switch (sizeof(RTSOCKET))
-    {
-        case 4: return (RTSOCKET)ASMAtomicXchgS32((int32_t volatile *)pSock, (int32_t)(uintptr_t)Sock);
-        case 8: return (RTSOCKET)ASMAtomicXchgS64((int64_t volatile *)pSock, (int64_t)(uintptr_t)Sock);
-        default:
-            AssertReleaseFailed();
-            return NIL_RTSOCKET;
-    }
+ * @returns The old handle value.
+ * @param   phSock          The socket handle variable to update.
+ * @param   hSock           The new socket handle value.
+ */
+DECLINLINE(RTSOCKET) rtTcpAtomicXchgSock(RTSOCKET volatile *phSock, const RTSOCKET hNew)
+{
+    RTSOCKET hRet;
+    ASMAtomicXchgHandle(phSock, hNew, &hRet);
+    return hRet;
 }
 
