You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oro-dev@jakarta.apache.org by df...@apache.org on 2003/01/03 18:18:08 UTC
cvs commit: jakarta-oro/src/java/org/apache/oro/text/regex Perl5Compiler.java Perl5Matcher.java
dfs 2003/01/03 09:18:08
Modified: . TODO
src/java/org/apache/oro/text/perl Perl5Util.java
src/java/org/apache/oro/text/regex Perl5Compiler.java
Perl5Matcher.java
Log:
Updated javadocs to disambiguate proper use of classes in concurrent
programs. Made note in TODO list that we need to write a new user's guide
and FAQ.
PR: 15777
Revision Changes Path
1.13 +11 -3 jakarta-oro/TODO
Index: TODO
===================================================================
RCS file: /home/cvs/jakarta-oro/TODO,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- TODO 15 Mar 2002 03:06:20 -0000 1.12
+++ TODO 3 Jan 2003 17:18:07 -0000 1.13
@@ -9,10 +9,10 @@
o Optimize/improve Unicode character classes.
-o Fix any pending bugs listed in BUGS file.
+o Fix any pending bugs listed in BUGS file or problem tracking system.
o Update org.apache.oro.text.regex and org.apache.oro.text.perl syntax to
- latest version of Perl, currently version 5.6. This will require
+ latest version of Perl, currently version 5.8. This will require
a lot of work.
o Pattern cache implementations are probably not very efficient.
@@ -51,3 +51,11 @@
o Make separate src and bin distributions. Current distribution is
getting big on account of 1.2 MB of API docs. src only distribution
should be half the size of bin distribution for quicker download.
+
+o Write user's guide and FAQ.
+
+o Update javadocs to take advantage of more recent features for
+ using the same documentation in multiple places without
+ writing it multiple times. Also get rid of all JDK 1.4 javadoc
+ warnings.
+
1.15 +11 -1 jakarta-oro/src/java/org/apache/oro/text/perl/Perl5Util.java
Index: Perl5Util.java
===================================================================
RCS file: /home/cvs/jakarta-oro/src/java/org/apache/oro/text/perl/Perl5Util.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- Perl5Util.java 14 Nov 2002 00:37:08 -0000 1.14
+++ Perl5Util.java 3 Jan 2003 17:18:07 -0000 1.15
@@ -151,6 +151,16 @@
* the last {@link org.apache.oro.text.regex.MatchResult MatchResult}
* found (which can be accessed with {@link #getMatch()} by a match or
* substitution (or even a split, but this isn't particularly useful).
+ * At the moment, the
+ * {@link org.apache.oro.text.regex.MatchResult MatchResult} returned
+ * by {@link #getMatch()} is not stored in a thread-local variable. Therefore
+ * concurrent calls to {@link #getMatch()} will produce unpredictable
+ * results. So if your concurrent program requires the match results,
+ * you must protect the matching and the result retrieval in a critical
+ * section. If you do not need match results, you don't need to do anything
+ * special. If you feel the J2SE implementation of {@link #getMatch()}
+ * should use a thread-local variable and obviate the need for a critical
+ * section, please express your views on the oro-dev mailing list.
*
* @author <a href="mailto:oro-dev@jakarta.apache.org">Daniel F. Savarese</a>
* @version @version@
1.18 +11 -1 jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Compiler.java
Index: Perl5Compiler.java
===================================================================
RCS file: /home/cvs/jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Compiler.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- Perl5Compiler.java 20 Nov 2002 22:51:29 -0000 1.17
+++ Perl5Compiler.java 3 Jan 2003 17:18:07 -0000 1.18
@@ -68,6 +68,16 @@
* Perl5Pattern instances upon compilation to be used in conjunction
* with a Perl5Matcher instance. Please see the user's guide for more
* information about Perl5 regular expressions.
+ * <p>
+ * Perl5Compiler and Perl5Matcher are designed with the intent that
+ * you use a separate instance of each per thread to avoid the overhead
+ * of both synchronization and concurrent access (e.g., a match that takes
+ * a long time in one thread will block the progress of another thread with
+ * a shorter match). If you want to use a single instance of each
+ * in a concurrent program, you must appropriately protect access to
+ * the instances with critical sections. If you want to share Perl5Pattern
+ * instances between concurrently executing instances of Perl5Matcher, you
+ * must compile the patterns with {@link Perl5Compiler#READ_ONLY_MASK}.
*
* @author <a href="mailto:oro-dev@jakarta.apache.org">Daniel F. Savarese</a>
* @version @version@
1.22 +11 -1 jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Matcher.java
Index: Perl5Matcher.java
===================================================================
RCS file: /home/cvs/jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Matcher.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- Perl5Matcher.java 20 Nov 2002 23:17:38 -0000 1.21
+++ Perl5Matcher.java 3 Jan 2003 17:18:08 -0000 1.22
@@ -67,6 +67,16 @@
* The Perl5Matcher class is used to match regular expressions
* (conforming to the Perl5 regular expression syntax) generated by
* Perl5Compiler.
+ * <p>
+ * Perl5Compiler and Perl5Matcher are designed with the intent that
+ * you use a separate instance of each per thread to avoid the overhead
+ * of both synchronization and concurrent access (e.g., a match that takes
+ * a long time in one thread will block the progress of another thread with
+ * a shorter match). If you want to use a single instance of each
+ * in a concurrent program, you must appropriately protect access to
+ * the instances with critical sections. If you want to share Perl5Pattern
+ * instances between concurrently executing instances of Perl5Matcher, you
+ * must compile the patterns with {@link Perl5Compiler#READ_ONLY_MASK}.
*
* @author <a href="mailto:oro-dev@jakarta.apache.org">Daniel F. Savarese</a>
* @version @version@
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: cvs commit: jakarta-oro/src/java/org/apache/oro/text/regex
Perl5Compiler.java Perl5Matcher.java
Posted by Jon Scott Stevens <jo...@latchkey.com>.
on 2003/1/3 9:18 AM, "dfs@apache.org" <df...@apache.org> wrote:
> +o Fix any pending bugs listed in BUGS file or problem tracking system.
s/problem/issue/
Problem is a type of Issue.
-jon
(yea, I know I'm anal about this stuff)
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>