System.Security.AccessControl.MutexSecurity.SetAccessRule C# (CSharp) Method

SetAccessRule() public method

public SetAccessRule ( MutexAccessRule rule ) : void
rule MutexAccessRule
return void
        public void SetAccessRule(MutexAccessRule rule)
        {
            base.SetAccessRule(rule);
        }

Same methods

MutexSecurity::SetAccessRule ( System rule ) : void

Usage Example

        private static void CleanUpMessages(object state)
        {
            var directory = (DirectoryInfo) state;

            bool createdNew;
            var mutexName = string.Concat(MutexCleanUpKey, ".", directory.Name);
            var accessControl = new MutexSecurity();
            var sid = new SecurityIdentifier(WellKnownSidType.AuthenticatedUserSid, null);
            accessControl.SetAccessRule(new MutexAccessRule(sid, MutexRights.FullControl, AccessControlType.Allow));
            using (var mutex = new Mutex(true, mutexName, out createdNew, accessControl))
            {
                if (createdNew)
                {
                    try
                    {
                        Thread.Sleep(FileTimeoutMilliseconds);
                    }
                    catch (ThreadInterruptedException)
                    {
                    }
                    CleanUpMessages(directory);
                    mutex.ReleaseMutex();
                }
            }
            if (createdNew)
            {
                ThreadPool.QueueUserWorkItem(CleanUpMessages, directory);
            }
        }
All Usage Examples Of System.Security.AccessControl.MutexSecurity::SetAccessRule