Author: markt Date: Wed Jul 9 22:08:17 2014 New Revision: 1609327 URL: http://svn.apache.org/r1609327 Log: Revert r1609326 as it contained fixes for multiple separate issues
Modified: tomcat/trunk/java/org/apache/tomcat/buildutil/SignCode.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/ (props changed) tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolMXBean.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolMXBean.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/InterruptibleReentrantLock.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java (contents, props changed) tomcat/trunk/res/checkstyle/org-import-control.xml tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/tomcat/buildutil/SignCode.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/buildutil/SignCode.java?rev=1609327&r1=1609326&r2=1609327&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/buildutil/SignCode.java (original) +++ tomcat/trunk/java/org/apache/tomcat/buildutil/SignCode.java Wed Jul 9 22:08:17 2014 @@ -16,34 +16,14 @@ */ package org.apache.tomcat.buildutil; -import java.io.ByteArrayOutputStream; import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.net.URL; import java.util.ArrayList; import java.util.List; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; -import javax.xml.soap.MessageFactory; -import javax.xml.soap.SOAPBody; -import javax.xml.soap.SOAPConnection; -import javax.xml.soap.SOAPConnectionFactory; -import javax.xml.soap.SOAPConstants; -import javax.xml.soap.SOAPElement; -import javax.xml.soap.SOAPEnvelope; -import javax.xml.soap.SOAPException; -import javax.xml.soap.SOAPMessage; -import javax.xml.soap.SOAPPart; - -import org.apache.tomcat.util.codec.binary.Base64; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.Task; import org.apache.tools.ant.types.FileSet; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; /** * Ant task that submits a file to the Symantec code-signing service. @@ -52,9 +32,6 @@ public class SignCode extends Task { private final List<FileSet> filesets = new ArrayList<>(); - private static String USERNAME = "AOOAPI"; - private static String PASSWORD = "Demo1234!"; - private static String PARTNERCODE = "4615797APA95264"; public void addFileset(FileSet fileset) { filesets.add(fileset); @@ -76,151 +53,9 @@ public class SignCode extends Task { for (int i = 0; i < files.length; i++) { File file = new File(basedir, files[i]); filesToSign.add(file); + log("TODO: Sign " + file.getAbsolutePath()); } } } - - try { - // Construct the signing request - log("Constructing the code signing request"); - - // Create the SOAP message - MessageFactory factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL); - SOAPMessage message = factory.createMessage(); - - // Populate envelope - SOAPPart soapPart = message.getSOAPPart(); - SOAPEnvelope envelope = soapPart.getEnvelope(); - envelope.addNamespaceDeclaration("soapenv","http://schemas.xmlsoap.org/soap/envelope/";); - envelope.addNamespaceDeclaration("cod","http://api.ws.symantec.com/webtrust/codesigningservice";); - - SOAPBody body = envelope.getBody(); - - SOAPElement requestSigning = - body.addChildElement("requestSigning", "cod"); - - SOAPElement requestSigningRequest = - requestSigning.addChildElement("requestSigningRequest", "cod"); - - SOAPElement authToken = requestSigningRequest.addChildElement("authToken", "cod"); - SOAPElement userName = authToken.addChildElement("userName", "cod"); - userName.addTextNode(USERNAME); - SOAPElement password = authToken.addChildElement("password", "cod"); - password.addTextNode(PASSWORD); - SOAPElement partnerCode = authToken.addChildElement("partnerCode", "cod"); - partnerCode.addTextNode(PARTNERCODE); - - SOAPElement applicationName = - requestSigningRequest.addChildElement("applicationName", "cod"); - applicationName.addTextNode("Apache Tomcat"); - - SOAPElement applicationVersion = - requestSigningRequest.addChildElement("applicationVersion", "cod"); - applicationVersion.addTextNode("8.0.x trunk"); - - SOAPElement signingServiceName = - requestSigningRequest.addChildElement("signingServiceName", "cod"); - signingServiceName.addTextNode("Microsoft Signing"); - - SOAPElement commaDelimitedFileNames = - requestSigningRequest.addChildElement("commaDelimitedFileNames", "cod"); - commaDelimitedFileNames.addTextNode(getFileNames(filesToSign.size())); - - SOAPElement application = - requestSigningRequest.addChildElement("application", "cod"); - application.addTextNode(getApplicationString(filesToSign)); - - // Send the message - SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance(); - SOAPConnection connection = soapConnectionFactory.createConnection(); - java.net.URL endpoint = new URL("https://test-api.ws.symantec.com:443/webtrust/SigningService";); - - log("Sending siging request to server and waiting for reponse"); - SOAPMessage response = connection.call(message, endpoint); - - log("Processing response"); - SOAPElement responseBody = response.getSOAPBody(); - log(responseBody.getTextContent()); - - // Should come back signed - NodeList bodyNodes = responseBody.getChildNodes(); - NodeList requestSigningResponseNodes = bodyNodes.item(0).getChildNodes(); - NodeList returnNodes = requestSigningResponseNodes.item(0).getChildNodes(); - - String signingSetID = null; - String signingSetStatus = null; - - for (int i = 0; i < returnNodes.getLength(); i++) { - Node returnNode = returnNodes.item(i); - if (returnNode.getLocalName().equals("signingSetID")) { - signingSetID = returnNode.getTextContent(); - } else if (returnNode.getLocalName().equals("signingSetStatus")) { - signingSetStatus = returnNode.getTextContent(); - } - } - - if (!"SIGNED".equals(signingSetStatus)) { - throw new BuildException("Signing failed. Status was: " + signingSetStatus); - } - - log("TODO: Download signingSet: " + signingSetID); - - - } catch (SOAPException | IOException e) { - throw new BuildException(e); - } - } - - /** - * Signing service requires unique files names. Since files will be returned - * in order, use dummy names that we know are unique. - */ - private String getFileNames(int fileCount) { - StringBuilder sb = new StringBuilder(); - - boolean first = true; - - for (int i = 0; i < fileCount; i++) { - if (first) { - first = false; - } else { - sb.append(','); - } - sb.append(Integer.toString(i)); - } - return sb.toString(); - } - - /** - * Zips the files, base 64 encodes the resulting zip and then returns the - * string. It would be far more efficient to stream this directly to the - * signing server but the files that need to be signed are relatively small - * and this simpler to write. - * - * @param files Files to be signed - */ - private String getApplicationString(List<File> files) throws IOException { - // 10 MB should be more than enough for Tomcat - ByteArrayOutputStream baos = new ByteArrayOutputStream(10 * 1024 * 1024); - try (ZipOutputStream zos = new ZipOutputStream(baos)) { - - byte[] buf = new byte[32 * 1024]; - - for (int i = 0; i < files.size() ; i++) { - try (FileInputStream fis = new FileInputStream(files.get(i))) { - ZipEntry zipEntry = new ZipEntry(Integer.toString(i)); - zos.putNextEntry(zipEntry); - - int numRead; - while ( (numRead = fis.read(buf) ) >= 0) { - zos.write(buf, 0, numRead); - } - } - } - } - - log("" + baos.size()); - - return Base64.encodeBase64String(baos.toByteArray()); } } Propchange: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/ ------------------------------------------------------------------------------ Reverse-merged /commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2:r1593564-1609323 Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java?rev=1609327&r1=1609326&r2=1609327&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java Wed Jul 9 22:08:17 2014 @@ -63,7 +63,6 @@ public abstract class BaseGenericObjectP private volatile long maxWaitMillis = BaseObjectPoolConfig.DEFAULT_MAX_WAIT_MILLIS; private volatile boolean lifo = BaseObjectPoolConfig.DEFAULT_LIFO; - private final boolean fairness; private volatile boolean testOnCreate = BaseObjectPoolConfig.DEFAULT_TEST_ON_CREATE; private volatile boolean testOnBorrow = @@ -136,7 +135,6 @@ public abstract class BaseGenericObjectP // save the current CCL to be used later by the evictor Thread factoryClassLoader = Thread.currentThread().getContextClassLoader(); - fairness = config.getFairness(); } @@ -249,17 +247,6 @@ public abstract class BaseGenericObjectP public final boolean getLifo() { return lifo; } - - /** - * Returns whether or not the pool serves threads waiting to borrow objects fairly. - * True means that waiting threads are served as if waiting in a FIFO queue. - * - * @return <code>true</code> if waiting threads are to be served - * by the pool in arrival order - */ - public final boolean getFairness() { - return fairness; - } /** * Sets whether the pool has LIFO (last in, first out) behaviour with Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java?rev=1609327&r1=1609326&r2=1609327&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java Wed Jul 9 22:08:17 2014 @@ -33,13 +33,6 @@ public abstract class BaseObjectPoolConf * @see GenericKeyedObjectPool#getLifo() */ public static final boolean DEFAULT_LIFO = true; - - /** - * The default value for the {@code fairness} configuration attribute. - * @see GenericObjectPool#getFairness() - * @see GenericKeyedObjectPool#getFairness() - */ - public static final boolean DEFAULT_FAIRNESS = false; /** * The default value for the {@code maxWait} configuration attribute. @@ -153,8 +146,6 @@ public abstract class BaseObjectPoolConf private boolean lifo = DEFAULT_LIFO; - - private boolean fairness = DEFAULT_FAIRNESS; private long maxWaitMillis = DEFAULT_MAX_WAIT_MILLIS; @@ -203,20 +194,6 @@ public abstract class BaseObjectPoolConf public boolean getLifo() { return lifo; } - - /** - * Get the value for the {@code fairness} configuration attribute for pools - * created with this configuration instance. - * - * @return The current setting of {@code fairness} for this configuration - * instance - * - * @see GenericObjectPool#getFairness() - * @see GenericKeyedObjectPool#getFairness() - */ - public boolean getFairness() { - return fairness; - } /** * Set the value for the {@code lifo} configuration attribute for pools @@ -231,20 +208,6 @@ public abstract class BaseObjectPoolConf public void setLifo(boolean lifo) { this.lifo = lifo; } - - /** - * Set the value for the {@code fairness} configuration attribute for pools - * created with this configuration instance. - * - * @param fairness The new setting of {@code fairness} - * for this configuration instance - * - * @see GenericObjectPool#getFairness() - * @see GenericKeyedObjectPool#getFairness() - */ - public void setFairness(boolean fairness) { - this.fairness = fairness; - } /** * Get the value for the {@code maxWait} configuration attribute for pools Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java?rev=1609327&r1=1609326&r2=1609327&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java Wed Jul 9 22:08:17 2014 @@ -103,7 +103,6 @@ public class GenericKeyedObjectPool<K,T> throw new IllegalArgumentException("factory may not be null"); } this.factory = factory; - this.fairness = config.getFairness(); setConfig(config); @@ -341,7 +340,7 @@ public class GenericKeyedObjectPool<K,T> boolean blockWhenExhausted = getBlockWhenExhausted(); boolean create; - long waitTime = System.currentTimeMillis(); + long waitTime = 0; ObjectDeque<T> objectDeque = register(key); try { @@ -357,8 +356,10 @@ public class GenericKeyedObjectPool<K,T> if (borrowMaxWaitMillis < 0) { p = objectDeque.getIdleObjects().takeFirst(); } else { + waitTime = System.currentTimeMillis(); p = objectDeque.getIdleObjects().pollFirst( borrowMaxWaitMillis, TimeUnit.MILLISECONDS); + waitTime = System.currentTimeMillis() - waitTime; } } if (p == null) { @@ -430,7 +431,7 @@ public class GenericKeyedObjectPool<K,T> deregister(key); } - updateStatsBorrow(p, System.currentTimeMillis() - waitTime); + updateStatsBorrow(p, waitTime); return p.getObject(); } @@ -533,12 +534,6 @@ public class GenericKeyedObjectPool<K,T> } else { idleObjects.addLast(p); } - if (isClosed()) { - // Pool closed while object was being added to idle objects. - // Make sure the returned object is destroyed rather than left - // in the idle object pool (which would effectively be a leak) - clear(key); - } } if (hasBorrowWaiters()) { @@ -1088,7 +1083,7 @@ public class GenericKeyedObjectPool<K,T> lock.lock(); objectDeque = poolMap.get(k); if (objectDeque == null) { - objectDeque = new ObjectDeque<>(fairness); + objectDeque = new ObjectDeque<>(); objectDeque.getNumInterested().incrementAndGet(); // NOTE: Keys must always be added to both poolMap and // poolKeyList at the same time while protected by @@ -1404,7 +1399,8 @@ public class GenericKeyedObjectPool<K,T> */ private class ObjectDeque<S> { - private final LinkedBlockingDeque<PooledObject<S>> idleObjects; + private final LinkedBlockingDeque<PooledObject<S>> idleObjects = + new LinkedBlockingDeque<>(); /* * Number of instances created - number destroyed. @@ -1429,15 +1425,6 @@ public class GenericKeyedObjectPool<K,T> private final AtomicLong numInterested = new AtomicLong(0); /** - * Create a new ObjecDeque with the given fairness policy. - * @param fairness true means client threads waiting to borrow / return instances - * will be served as if waiting in a FIFO queue. - */ - public ObjectDeque(boolean fairness) { - idleObjects = new LinkedBlockingDeque<>(fairness); - } - - /** * Obtain the idle objects for the current key. * * @return The idle objects @@ -1483,7 +1470,6 @@ public class GenericKeyedObjectPool<K,T> private volatile int maxTotalPerKey = GenericKeyedObjectPoolConfig.DEFAULT_MAX_TOTAL_PER_KEY; private final KeyedPooledObjectFactory<K,T> factory; - private final boolean fairness; //--- internal attributes -------------------------------------------------- Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolMXBean.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolMXBean.java?rev=1609327&r1=1609326&r2=1609327&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolMXBean.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolMXBean.java Wed Jul 9 22:08:17 2014 @@ -41,11 +41,6 @@ public interface GenericKeyedObjectPoolM */ boolean getBlockWhenExhausted(); /** - * See {@link GenericKeyedObjectPool#getFairness()} - * @return See {@link GenericKeyedObjectPool#getFairness()} - */ - boolean getFairness(); - /** * See {@link GenericKeyedObjectPool#getLifo()} * @return See {@link GenericKeyedObjectPool#getLifo()} */ Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java?rev=1609327&r1=1609326&r2=1609327&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java Wed Jul 9 22:08:17 2014 @@ -109,8 +109,6 @@ public class GenericObjectPool<T> extend } this.factory = factory; - idleObjects = new LinkedBlockingDeque<>(config.getFairness()); - setConfig(config); startEvictor(getTimeBetweenEvictionRunsMillis()); @@ -422,7 +420,7 @@ public class GenericObjectPool<T> extend boolean blockWhenExhausted = getBlockWhenExhausted(); boolean create; - long waitTime = System.currentTimeMillis(); + long waitTime = 0; while (p == null) { create = false; @@ -436,8 +434,10 @@ public class GenericObjectPool<T> extend if (borrowMaxWaitMillis < 0) { p = idleObjects.takeFirst(); } else { + waitTime = System.currentTimeMillis(); p = idleObjects.pollFirst(borrowMaxWaitMillis, TimeUnit.MILLISECONDS); + waitTime = System.currentTimeMillis() - waitTime; } } if (p == null) { @@ -506,7 +506,7 @@ public class GenericObjectPool<T> extend } } - updateStatsBorrow(p, System.currentTimeMillis() - waitTime); + updateStatsBorrow(p, waitTime); return p.getObject(); } @@ -607,12 +607,6 @@ public class GenericObjectPool<T> extend } else { idleObjects.addLast(p); } - if (isClosed()) { - // Pool closed while object was being added to idle objects. - // Make sure the returned object is destroyed rather than left - // in the idle object pool (which would effectively be a leak) - clear(); - } } updateStatsReturn(activeTime); } @@ -909,12 +903,6 @@ public class GenericObjectPool<T> extend idleObjects.addLast(p); } } - if (isClosed()) { - // Pool closed while object was being added to idle objects. - // Make sure the returned object is destroyed rather than left - // in the idle object pool (which would effectively be a leak) - clear(); - } } /** @@ -1109,7 +1097,8 @@ public class GenericObjectPool<T> extend * {@link #_maxActive} objects created at any one time. */ private final AtomicLong createCount = new AtomicLong(0); - private final LinkedBlockingDeque<PooledObject<T>> idleObjects; + private final LinkedBlockingDeque<PooledObject<T>> idleObjects = + new LinkedBlockingDeque<>(); // JMX specific attributes private static final String ONAME_BASE = Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolMXBean.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolMXBean.java?rev=1609327&r1=1609326&r2=1609327&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolMXBean.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolMXBean.java Wed Jul 9 22:08:17 2014 @@ -41,11 +41,6 @@ public interface GenericObjectPoolMXBean * See {@link GenericObjectPool#getLifo()} * @return See {@link GenericObjectPool#getLifo()} */ - boolean getFairness(); - /** - * See {@link GenericObjectPool#getFairness()} - * @return See {@link GenericObjectPool#getFairness()} - */ boolean getLifo(); /** * See {@link GenericObjectPool#getMaxIdle()} Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/InterruptibleReentrantLock.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/InterruptibleReentrantLock.java?rev=1609327&r1=1609326&r2=1609327&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/InterruptibleReentrantLock.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/InterruptibleReentrantLock.java Wed Jul 9 22:08:17 2014 @@ -34,16 +34,6 @@ class InterruptibleReentrantLock extends private static final long serialVersionUID = 1L; /** - * Create a new InterruptibleReentrantLock with the given fairness policy. - * - * @param fairness true means threads should acquire contended locks as if - * waiting in a FIFO queue - */ - public InterruptibleReentrantLock(boolean fairness) { - super(fairness); - } - - /** * Interrupt the threads that are waiting on a specific condition * * @param condition the condition on which the threads are waiting. Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java?rev=1609327&r1=1609326&r2=1609327&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java Wed Jul 9 22:08:17 2014 @@ -146,13 +146,14 @@ class LinkedBlockingDeque<E> extends Abs private final int capacity; /** Main lock guarding all access */ - private final InterruptibleReentrantLock lock; + private final InterruptibleReentrantLock lock = + new InterruptibleReentrantLock(); /** Condition for waiting takes */ - private final Condition notEmpty; + private final Condition notEmpty = lock.newCondition(); /** Condition for waiting puts */ - private final Condition notFull; + private final Condition notFull = lock.newCondition(); /** * Creates a {@code LinkedBlockingDeque} with a capacity of @@ -161,16 +162,6 @@ class LinkedBlockingDeque<E> extends Abs public LinkedBlockingDeque() { this(Integer.MAX_VALUE); } - - /** - * Creates a {@code LinkedBlockingDeque} with a capacity of - * {@link Integer#MAX_VALUE} and the given fairness policy. - * @param fairness true means threads waiting on the deque should be served - * as if waiting in a FIFO request queue - */ - public LinkedBlockingDeque(boolean fairness) { - this(Integer.MAX_VALUE, fairness); - } /** * Creates a {@code LinkedBlockingDeque} with the given (fixed) capacity. @@ -179,24 +170,8 @@ class LinkedBlockingDeque<E> extends Abs * @throws IllegalArgumentException if {@code capacity} is less than 1 */ public LinkedBlockingDeque(int capacity) { - this(capacity, false); - } - - /** - * Creates a {@code LinkedBlockingDeque} with the given (fixed) capacity - * and fairness policy. - * - * @param capacity the capacity of this deque - * @param fairness true means threads waiting on the deque should be served - * as if waiting in a FIFO request queue - * @throws IllegalArgumentException if {@code capacity} is less than 1 - */ - public LinkedBlockingDeque(int capacity, boolean fairness) { if (capacity <= 0) throw new IllegalArgumentException(); this.capacity = capacity; - lock = new InterruptibleReentrantLock(fairness); - notEmpty = lock.newCondition(); - notFull = lock.newCondition(); } /** Propchange: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Wed Jul 9 22:08:17 2014 @@ -0,0 +1,9 @@ +/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/LinkedBlockingDeque.java:1593516-1593563 +/harmony/enhanced/classlib/trunk/modules/concurrent/src/main/java/java/util/concurrent/LinkedBlockingDeque.java:713674-735919,765923-926091,926318-926838 +/harmony/enhanced/classlib/trunk/working_classlib/modules/concurrent/src/main/java/java/util/concurrent/LinkedBlockingDeque.java:884014-884286 +/harmony/enhanced/java/branches/mrh/classlib/modules/concurrent/src/main/java/java/util/concurrent/LinkedBlockingDeque.java:935751-941490 +/harmony/enhanced/java/trunk/classlib/modules/concurrent/src/main/java/java/util/concurrent/LinkedBlockingDeque.java:929253-1049534 +/harmony/enhanced/trunk/classlib/modules/concurrent/src/main/java/java/util/concurrent/LinkedBlockingDeque.java:476395-929252 +/harmony/enhanced/trunk/working_classlib/modules/concurrent/src/main/java/java/util/concurrent/LinkedBlockingDeque.java:476396-920147 +/incubator/harmony/enhanced/trunk/classlib/modules/concurrent/src/main/java/java/util/concurrent/LinkedBlockingDeque.java:292550-476394 +/incubator/harmony/enhanced/trunk/working_classlib/modules/concurrent/src/main/java/java/util/concurrent/LinkedBlockingDeque.java:423974-476394 Modified: tomcat/trunk/res/checkstyle/org-import-control.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/res/checkstyle/org-import-control.xml?rev=1609327&r1=1609326&r2=1609327&view=diff ============================================================================== --- tomcat/trunk/res/checkstyle/org-import-control.xml (original) +++ tomcat/trunk/res/checkstyle/org-import-control.xml Wed Jul 9 22:08:17 2014 @@ -124,7 +124,6 @@ <allow pkg="javax.servlet"/> <subpackage name="buildutil"> <allow pkg="org.apache.tools.ant"/> - <allow pkg="org.apache.tomcat.util"/> </subpackage> <subpackage name="dbcp"> <allow pkg="org.apache.juli"/> Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1609327&r1=1609326&r2=1609327&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Wed Jul 9 22:08:17 2014 @@ -217,10 +217,6 @@ <bug>56685</bug>: Add quotes necessary for <code>daemon.sh</code> to work correctly on Solaris. Based on a suggesiton by lfuka. (markt) </fix> - <update> - Update package renamed Apache Commons Pool2 to r1609323 to pick various - bug fixes. (markt) - </update> </changelog> </subsection> </section> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org