~james-page/ubuntu/natty/tomcat6/fix-662588

« back to all changes in this revision

Viewing changes to java/org/apache/catalina/core/StandardHost.java

  • Committer: Bazaar Package Importer
  • Author(s): Mathias Gug, Iulian Udrea
  • Date: 2009-06-09 12:35:19 UTC
  • mfrom: (1.2.1 upstream) (2.1.4 sid)
  • Revision ID: james.westby@ubuntu.com-20090609123519-7owjbso5ttnka6ur
Tags: 6.0.20-1ubuntu1
[ Iulian Udrea ]
* Merge from debian unstable (LP: #385262), remaining changes:
  - debian/control, debian/rules: Use default-jdk to build
  - debian/control: Run using default-jre-headless by default

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
 *
40
40
 * @author Craig R. McClanahan
41
41
 * @author Remy Maucherat
42
 
 * @version $Revision: 497521 $ $Date: 2007-01-18 19:24:17 +0100 (Thu, 18 Jan 2007) $
 
42
 * @version $Revision: 771009 $ $Date: 2009-05-03 03:15:41 +0200 (Sun, 03 May 2009) $
43
43
 */
44
44
 
45
45
public class StandardHost
72
72
     * The set of aliases for this Host.
73
73
     */
74
74
    private String[] aliases = new String[0];
 
75
    
 
76
    private final Object aliasesLock = new Object();
75
77
 
76
78
 
77
79
    /**
491
493
 
492
494
        alias = alias.toLowerCase();
493
495
 
494
 
        // Skip duplicate aliases
495
 
        for (int i = 0; i < aliases.length; i++) {
496
 
            if (aliases[i].equals(alias))
497
 
                return;
 
496
        synchronized (aliasesLock) {
 
497
            // Skip duplicate aliases
 
498
            for (int i = 0; i < aliases.length; i++) {
 
499
                if (aliases[i].equals(alias))
 
500
                    return;
 
501
            }
 
502
            // Add this alias to the list
 
503
            String newAliases[] = new String[aliases.length + 1];
 
504
            for (int i = 0; i < aliases.length; i++)
 
505
                newAliases[i] = aliases[i];
 
506
            newAliases[aliases.length] = alias;
 
507
            aliases = newAliases;
498
508
        }
499
 
 
500
 
        // Add this alias to the list
501
 
        String newAliases[] = new String[aliases.length + 1];
502
 
        for (int i = 0; i < aliases.length; i++)
503
 
            newAliases[i] = aliases[i];
504
 
        newAliases[aliases.length] = alias;
505
 
 
506
 
        aliases = newAliases;
507
 
 
508
509
        // Inform interested listeners
509
510
        fireContainerEvent(ADD_ALIAS_EVENT, alias);
510
511
 
533
534
     */
534
535
    public String[] findAliases() {
535
536
 
536
 
        return (this.aliases);
 
537
        synchronized (aliasesLock) {
 
538
            return (this.aliases);
 
539
        }
537
540
 
538
541
    }
539
542
 
608
611
 
609
612
        alias = alias.toLowerCase();
610
613
 
611
 
        synchronized (aliases) {
 
614
        synchronized (aliasesLock) {
612
615
 
613
616
            // Make sure this alias is currently present
614
617
            int n = -1;
707
710
            } catch (Throwable t) {
708
711
                log.error(sm.getString
709
712
                    ("standardHost.invalidErrorReportValveClass", 
710
 
                     errorReportValveClass));
 
713
                     errorReportValveClass), t);
711
714
            }
712
715
        }
713
716
        if(log.isDebugEnabled()) {
743
746
     }
744
747
 
745
748
    public String[] getAliases() {
746
 
        return aliases;
 
749
        synchronized (aliasesLock) {
 
750
            return aliases;
 
751
        }
747
752
    }
748
753
 
749
754
    private boolean initialized=false;