diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1998-07-12 05:10:50 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-07-12 05:10:50 +0000 |
commit | 5c0ca7990f0d90291b9a3d0b6c57bae560b23b52 (patch) | |
tree | 26fb0eee534215ebaa9caa2327d1ee6ac37d3bb7 /regexec.c | |
parent | 8b49bb9af6b73f5b844abedd87486b1c41fc6b01 (diff) | |
download | perl-5c0ca7990f0d90291b9a3d0b6c57bae560b23b52.tar.gz |
make RE engine threadsafe; -Dusethreads builds, tests on Solaris,
and runs regexes in 1000s of threads without crashing; also fixed
statcache not being thread-local
p4raw-id: //depot/perl@1448
Diffstat (limited to 'regexec.c')
-rw-r--r-- | regexec.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -204,6 +204,7 @@ regexec_flags(register regexp *prog, char *stringarg, register char *strend, /* data: May be used for some additional optimizations. */ /* nosave: For optimizations. */ { + dTHR; register char *s; register regnode *c; register char *startpos = stringarg; @@ -1375,8 +1376,8 @@ regmatch(regnode *prog) ln = n; locinput = reginput; DEBUG_r( - PerlIO_printf(Perl_debug_log, "%*s matched %ld times, - len=%ld...\n", + PerlIO_printf(Perl_debug_log, + "%*s matched %ld times, len=%ld...\n", REPORT_CODE_OFF+regindent*2, "", n, l) ); if (n >= ln) { @@ -1634,6 +1635,7 @@ no: STATIC I32 regrepeat(regnode *p, I32 max) { + dTHR; register char *scan; register char *opnd; register I32 c; @@ -1746,6 +1748,7 @@ regrepeat(regnode *p, I32 max) STATIC I32 regrepeat_hard(regnode *p, I32 max, I32 *lp) { + dTHR; register char *scan; register char *start; register char *loceol = regeol; @@ -1777,6 +1780,7 @@ regrepeat_hard(regnode *p, I32 max, I32 *lp) STATIC bool reginclass(register char *p, register I32 c) { + dTHR; char flags = *p; bool match = FALSE; |