[STORPORT] Fix x64 build
[reactos.git] / ntoskrnl / lpc / listen.c
index 1d4e94c..eddcc66 100644 (file)
@@ -23,10 +23,11 @@ NtListenPort(IN HANDLE PortHandle,
              OUT PPORT_MESSAGE ConnectMessage)
 {
     NTSTATUS Status;
+
     PAGED_CODE();
-    LPCTRACE(LPC_LISTEN_DEBUG, "Handle: %lx\n", PortHandle);
+    LPCTRACE(LPC_LISTEN_DEBUG, "Handle: %p\n", PortHandle);
 
-    /* Wait forever for a connection request. */
+    /* Wait forever for a connection request */
     for (;;)
     {
         /* Do the wait */
@@ -35,18 +36,26 @@ NtListenPort(IN HANDLE PortHandle,
                                         NULL,
                                         ConnectMessage);
 
-        /* Accept only LPC_CONNECTION_REQUEST requests. */
-        if ((Status != STATUS_SUCCESS) ||
-            (LpcpGetMessageType(ConnectMessage) == LPC_CONNECTION_REQUEST))
+        _SEH2_TRY
+        {
+            /* Accept only LPC_CONNECTION_REQUEST requests */
+            if ((Status != STATUS_SUCCESS) ||
+                (LpcpGetMessageType(ConnectMessage) == LPC_CONNECTION_REQUEST))
+            {
+                /* Break out */
+                _SEH2_YIELD(break);
+            }
+        }
+        _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
         {
-            /* Break out */
-            break;
+            Status = _SEH2_GetExceptionCode();
+            _SEH2_YIELD(break);
         }
+        _SEH2_END;
     }
 
     /* Return status */
     return Status;
 }
 
-
 /* EOF */