fix #57, use lock(acquire/release publish) to avoid duplicated publishing. 0.9.188.