Fix warning in MicroLock initialization
Summary:The `init()` function uses the previous value of `lock_`, but that is
uninitialized and the compiler can issue a warning about it. It is
also potentially undefined behavior because it is not guaranteed that
the address of `lock_` is taken before `init()` (in which case the it
would be just an indeterminate value).
Since it is not very useful to initialize only one slot and leave the
others uninitialized, we can just have a single `init()` that
zero-initializes all the slots.
Reviewed By: dcolascione
Differential Revision:
D3042629
fb-gh-sync-id:
de1633b02eb1c891e310f2d5d2cfc5376cd41d5f
shipit-source-id:
de1633b02eb1c891e310f2d5d2cfc5376cd41d5f