コード例 #1
0
ファイル: LibcLP64.cs プロジェクト: thomcost/asherah
        public int setrlimit(int resource, rlimit rlp)
        {
            // Explicit boxing
            object rlpObj = rlp;

            GCHandle handle = GCHandle.Alloc(rlpObj, GCHandleType.Pinned);

            try
            {
                IntPtr rlpPtr = handle.AddrOfPinnedObject();
                return(_setrlimit(resource, rlpPtr));
            }
            finally
            {
                handle.Free();
            }
        }
コード例 #2
0
ファイル: LibcLP64.cs プロジェクト: thomcost/asherah
        public int getrlimit(int resource, out rlimit rlim)
        {
            var output = default(rlimit);

            rlim = output;

            // Explicit boxing
            object rlpObj = output;

            GCHandle handle = GCHandle.Alloc(rlpObj, GCHandleType.Pinned);

            try
            {
                IntPtr rlpPtr = handle.AddrOfPinnedObject();
                int    result = _getrlimit(resource, rlpPtr);
                rlim = (rlimit)rlpObj;
                return(result);
            }
            finally
            {
                handle.Free();
            }
        }