Exemple #1
0
 public void Dispose()
 {
     if (p_ != null)
     {
         Debug.Assert(next_ == null);
         p_.Exit();
         p_    = null;
         next_ = foos_;
         foos_ = this;
     }
 }
Exemple #2
0
        public static XProfile Get(string name)
        {
            XProfile ret;

            if (profiles_.TryGetValue(name, out ret))
            {
                return(ret);
            }
            ret = new XProfile(name);
            profiles_.Add(name, ret);
            return(ret);
        }
Exemple #3
0
            internal static Foo NewFoo(XProfile p)
            {
                if (foos_ == null)
                {
                    return(new Foo(p));
                }
                Foo ret = foos_;

                foos_     = ret.next_;
                ret.next_ = null;
                ret.p_    = p;
                p.Enter();
                return(ret);
            }
Exemple #4
0
 Foo(XProfile p)
 {
     p_ = p;
     p.Enter();
 }