+#if defined(__VISUALC__) && (__VISUALC__ >= 1200)
+ // disable warning about Unlock() below not being inlined (first, it
+ // seems to be inlined nevertheless and second, even if it isn't, there
+ // is nothing we can do about this
+ #pragma warning(push)
+ #pragma warning (disable:4714)
+#endif