Hold user token as IntPtr only
authorMarek Safar <marek.safar@gmail.com>
Mon, 11 May 2015 14:28:36 +0000 (16:28 +0200)
committerMarek Safar <marek.safar@gmail.com>
Mon, 2 May 2016 22:10:13 +0000 (00:10 +0200)
mcs/class/referencesource/System/compmod/system/codedom/compiler/CompilerParameters.cs

index f3b7019982ac9be7a64a41141315acd01e3ed625..c7d247c8de1dc54046da62f941f7d328e82ea047 100644 (file)
@@ -50,7 +50,11 @@ namespace System.CodeDom.Compiler {
         private bool generateExecutable = false;
         private TempFileCollection tempFiles;
         [NonSerializedAttribute]
+#if MONO
+        IntPtr userToken;
+#else
         private SafeUserTokenHandle userToken;
+#endif
         private Evidence evidence = null;
 
         /// <devdoc>
@@ -305,25 +309,33 @@ namespace System.CodeDom.Compiler {
         /// </devdoc>
         public IntPtr UserToken {
             get {
+#if MONO
+                return userToken;
+#else
                 if (userToken != null)
                     return userToken.DangerousGetHandle();
                 else
                     return IntPtr.Zero;
+#endif
             }
             set {
+#if MONO
+                userToken = value;
+#else
                 if (userToken != null)
                     userToken.Close();
                 
                 userToken = new SafeUserTokenHandle(value, false);
+#endif
             }
         }
-
+#if !MONO
         internal SafeUserTokenHandle SafeUserToken {
             get {
                 return userToken;
             }
         }
-        
+#endif
         /// <devdoc>
         ///    <para>
         ///       Set the evidence for partially trusted scenarios.