Where I can find the definition of MainLock?

When I look the blender source code. I cannot find the definition of MainLock in BKE_main_init().
The Main object’s lock member variable is a pointer to MainLock.
I can only search a declaration of it : struct MainLock;
Anyone know this?

It’s a pointer to an opaque type, it’s actual type doesn’t matter, however since we know it’s used with the BLI_spin_* api, you can deduct its type being SpinLock as defined in BLI_threads.h

1 Like

LazyDodo,
Thank you very much to point this out!
But I’m interesting to see the definition of this detail of how it defined. Which module it’s definition reside? A third-part module?

Like i said, it’s in BLI_threads.h

1 Like