Openfire uses strings (often namespaced, to reduce the likelyhood of problems) as locks, eg:
Although the namespacing severely reduces the likelyhood of accidental / unintended re-use of the lock in unrelated code (which introduces the potential for deadlocks), this solution is far from ideal. A better one should be found.
Openfire uses strings (often namespaced, to reduce the likelyhood of problems) as locks, eg:
Although the namespacing severely reduces the likelyhood of accidental / unintended re-use of the lock in unrelated code (which introduces the potential for deadlocks), this solution is far from ideal. A better one should be found.