View | Details | Raw Unified | Return to bug 59449
Collapse All | Expand All

(-)java/org/apache/catalina/core/ContainerBase.java (-8 / +7 lines)
Lines 810-821 Link Here
810
            return;
810
            return;
811
        }
811
        }
812
812
813
        synchronized(children) {
814
            if (children.get(child.getName()) == null)
815
                return;
816
            children.remove(child.getName());
817
        }
818
819
        try {
813
        try {
820
            if (child.getState().isAvailable()) {
814
            if (child.getState().isAvailable()) {
821
                child.stop();
815
                child.stop();
Lines 824-831 Link Here
824
            log.error("ContainerBase.removeChild: stop: ", e);
818
            log.error("ContainerBase.removeChild: stop: ", e);
825
        }
819
        }
826
820
827
        fireContainerEvent(REMOVE_CHILD_EVENT, child);
828
829
        try {
821
        try {
830
            // child.destroy() may have already been called which would have
822
            // child.destroy() may have already been called which would have
831
            // triggered this call. If that is the case, no need to destroy the
823
            // triggered this call. If that is the case, no need to destroy the
Lines 837-842 Link Here
837
            log.error("ContainerBase.removeChild: destroy: ", e);
829
            log.error("ContainerBase.removeChild: destroy: ", e);
838
        }
830
        }
839
831
832
        synchronized(children) {
833
            if (children.get(child.getName()) == null)
834
                return;
835
            children.remove(child.getName());
836
        }
837
838
        fireContainerEvent(REMOVE_CHILD_EVENT, child);
840
    }
839
    }
841
840
842
841

Return to bug 59449