pure c wait-free queue working; not tested with threads