{
}
- [MonoTODO ("Does not support access control, semaphoreSecurity is ignored")]
+ [MonoTODO ("CreateSemaphore_internal does not support access control, semaphoreSecurity is ignored")]
public Semaphore (int initialCount, int maximumCount, string name, out bool createdNew,
SemaphoreSecurity semaphoreSecurity)
{
out createdNew);
}
- [MonoTODO]
public SemaphoreSecurity GetAccessControl ()
{
- throw new NotImplementedException ();
+ return new SemaphoreSecurity (SafeWaitHandle,
+ AccessControlSections.Owner |
+ AccessControlSections.Group |
+ AccessControlSections.Access);
}
[PrePrepareMethod]
return (ret);
}
- [MonoTODO]
public void SetAccessControl (SemaphoreSecurity semaphoreSecurity)
{
if (semaphoreSecurity == null)
throw new ArgumentNullException ("semaphoreSecurity");
-
- throw new NotImplementedException ();
+
+ semaphoreSecurity.PersistModifications (SafeWaitHandle);
}
// static methods