Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Reverse the way the dllmap for libsocket is handled, by using libc

(mapped by /etc/mono/config) the default, and remapping this to
libsocket.so.1 on Solaris. This neatly avoids the dllmap-using-dllmap
problem introduced in c66aebc.
commit 1561585d601058392d5864e3add2bac3c67e14a7 1 parent c66aebc
@directhex directhex authored
Showing with 12 additions and 2 deletions.
  1. +1 −1  src/Unix.cs
  2. +11 −1 src/dbus-sharp.dll.config
View
2  src/Unix.cs
@@ -197,7 +197,7 @@ unsafe class UnixSocket
// Solaris provides socket functionality in libsocket rather than libc.
// We use a dllmap in the .config to deal with this.
- internal const string LIBSOCKET = "libsocket";
+ internal const string LIBSOCKET = "libc";
public const short AF_UNIX = 1;
// FIXME: SOCK_STREAM is 2 on Solaris
View
12 src/dbus-sharp.dll.config
@@ -1,3 +1,13 @@
<configuration>
- <dllmap dll="libsocket" os="!solaris" target="libc"/>
+ <dllmap dll="libc">
+ <dllentry os="solaris" dll="libsocket.so.1" name="socket" target="socket"/>
+ <dllentry os="solaris" dll="libsocket.so.1" name="connect" target="connect"/>
+ <dllentry os="solaris" dll="libsocket.so.1" name="bind" target="bind"/>
+ <dllentry os="solaris" dll="libsocket.so.1" name="listen" target="listen"/>
+ <dllentry os="solaris" dll="libsocket.so.1" name="accept" target="accept"/>
+ <dllentry os="solaris" dll="libsocket.so.1" name="getsockopt" target="getsockopt"/>
+ <dllentry os="solaris" dll="libsocket.so.1" name="setsockopt" target="setsockopt"/>
+ <dllentry os="solaris" dll="libsocket.so.1" name="recvmsg" target="recvmsg"/>
+ <dllentry os="solaris" dll="libsocket.so.1" name="sendmsg" target="sendmsg"/>
+ </dllmap>
</configuration>
Please sign in to comment.
Something went wrong with that request. Please try again.