Commons Lang
  1. Commons Lang
  2. LANG-629

Charset may not be threadsafe, because the HashSet is not synch.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.0
    • Component/s: lang.*
    • Labels:
      None

      Description

      Charset may not be threadsafe, because the HashSet "set" is not synch.

      The set is only updated by the protected add() method, which is currently only used by the protected ctors.

      Perhaps add() should be private?
      This would prevent any changes to the set after construction, and might be sufficient to ensure safe publication between threads.

      Alternatively, make the set synch, as is done for COMMON.

        Activity

        Hide
        Henri Yandell added a comment -

        I've gone with simply making the underlying set synchronized.

        svn ci -m "Per LANG-629, making the underlying set synchronized for CharSet"
        Sending src/main/java/org/apache/commons/lang3/CharSet.java
        Transmitting file data .
        Committed revision 998000.

        Show
        Henri Yandell added a comment - I've gone with simply making the underlying set synchronized. svn ci -m "Per LANG-629 , making the underlying set synchronized for CharSet" Sending src/main/java/org/apache/commons/lang3/CharSet.java Transmitting file data . Committed revision 998000.

          People

          • Assignee:
            Unassigned
            Reporter:
            Sebb
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development