diff --git a/bindings/dotnet/default.build b/bindings/dotnet/default.build index fa748d68..cb76ebc1 100644 --- a/bindings/dotnet/default.build +++ b/bindings/dotnet/default.build @@ -25,6 +25,7 @@ diff --git a/bindings/dotnet/src/Sigar.cs b/bindings/dotnet/src/Sigar.cs index 51b8fa60..b2fff3aa 100644 --- a/bindings/dotnet/src/Sigar.cs +++ b/bindings/dotnet/src/Sigar.cs @@ -31,13 +31,16 @@ namespace Hyperic.Sigar { internal HandleRef sigar; [DllImport(LIBSIGAR)] - private static extern IntPtr sigar_new(); + unsafe private static extern int sigar_open(IntPtr *sigar); [DllImport(LIBSIGAR)] private static extern int sigar_close(IntPtr sigar); public Sigar() { - IntPtr handle = sigar_new(); + IntPtr handle; + unsafe { //&pointers are considered "unsafe" + sigar_open(&handle); + } this.sigar = new HandleRef(this, handle); }