Example #1
0
 public static GroupDetails GetOrCreateGroup(string group)
 {
     try
     {
         ConnectionsLock.EnterUpgradeableReadLock();
         GroupDetails groupdetails = null;
         if (!Connections.TryGetValue(group, out groupdetails))
         {
             try
             {
                 ConnectionsLock.EnterWriteLock();
                 if (!Connections.TryGetValue(group, out groupdetails))
                 {
                     groupdetails = new GroupDetails(groupname: group);
                     Connections.Add(group, groupdetails);
                 }
             }
             finally
             {
                 ConnectionsLock.ExitWriteLock();
             }
         }
         return(groupdetails);
     }
     finally
     {
         ConnectionsLock.ExitUpgradeableReadLock();
     }
 }