Added locked/unlocked assertions and init/destroy macros. Added $FreeBSD$ tag.
Thank you for the feedback! I was able to look at this today and added memory barriers and fixed a couple of silly mistakes.