Dong, I'm not sure I understand your suggestion, I attached below my bug
catcher in org.apache.catalina.connector.Request.

Do you mean I should add a delay before the while loop to increase the
length of the critical section?

What do you mean by yelding the CPU (sorry I'm French) ?

Gael

    public Map getParameterMap() {

        synchronized(parameterMap) {
            Thread currentThread = Thread.currentThread();
            if (pmapThread == null) {
                // Store context of first caller thread
                pmapThread = currentThread;
                pmapStackTrace = currentThread.getStackTrace();
            } else {
                if (currentThread != pmapThread) {
                    String msg = "Original thread = " + pmapThread +
                        "\nOriginal stack trace = " +
stack2string(pmapStackTrace) +
                        "\nCurrent thread = " + currentThread;
                    throw new IllegalStateException(msg);
                }
            }
        }

        if (parameterMap.isLocked())
            return parameterMap;

        Enumeration enumeration = getParameterNames();
        while (enumeration.hasMoreElements()) {
            String name = enumeration.nextElement().toString();
            String[] values = getParameterValues(name);
            parameterMap.put(name, values);
        }

        parameterMap.setLocked(true);

        return parameterMap;

    } 

-----Original Message-----
From: JiaDong Huang [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, December 12, 2006 10:42 AM
To: 'Tomcat Users List'
Subject: RE: Multi processor issue

Gael,

If you can build the Tomcat code/component, put in time delay code and
also yield the CPU, within the ParameterMap initialization procedure.

Dong

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to