From eeb49c2af713a4957195b833eb4fb3286b236ccf Mon Sep 17 00:00:00 2001 From: Tom Deseyn Date: Thu, 26 Oct 2017 20:40:52 +0200 Subject: [PATCH] Pass setsockopt fd as int (#2136) --- src/Kestrel.Transport.Sockets/SocketTransport.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Kestrel.Transport.Sockets/SocketTransport.cs b/src/Kestrel.Transport.Sockets/SocketTransport.cs index b7d01acd0b..cf3cdf84b2 100644 --- a/src/Kestrel.Transport.Sockets/SocketTransport.cs +++ b/src/Kestrel.Transport.Sockets/SocketTransport.cs @@ -154,7 +154,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets { _trace.LogCritical($"Unexpected exeption in {nameof(SocketTransport)}.{nameof(RunAcceptLoopAsync)}."); _listenException = ex; - + // Request shutdown so we can rethrow this exception // in Stop which should be observable. _appLifetime.StopApplication(); @@ -163,7 +163,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets } [DllImport("libc", SetLastError = true)] - private static extern int setsockopt(IntPtr socket, int level, int option_name, IntPtr option_value, uint option_len); + private static extern int setsockopt(int socket, int level, int option_name, IntPtr option_value, uint option_len); private const int SOL_SOCKET_OSX = 0xffff; private const int SO_REUSEADDR_OSX = 0x0004; @@ -179,12 +179,12 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { - setsockoptStatus = setsockopt(listenSocket.Handle, SOL_SOCKET_LINUX, SO_REUSEADDR_LINUX, + setsockoptStatus = setsockopt(listenSocket.Handle.ToInt32(), SOL_SOCKET_LINUX, SO_REUSEADDR_LINUX, (IntPtr)(&optionValue), sizeof(int)); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { - setsockoptStatus = setsockopt(listenSocket.Handle, SOL_SOCKET_OSX, SO_REUSEADDR_OSX, + setsockoptStatus = setsockopt(listenSocket.Handle.ToInt32(), SOL_SOCKET_OSX, SO_REUSEADDR_OSX, (IntPtr)(&optionValue), sizeof(int)); }