> > object myLock = new object[0]; > > lock(myLock) > > { > > } ... > the silly lock, but, of course, this needs to be done > completely in C# code, there is no valid reason for doing it > inside the runtime. Yup, it's a pretty silly thing to do in most cases, but 3rd-party code should still run to spec. Piers.