#28 fix race conditions

This commit is contained in:
z7zmey 2018-06-06 19:47:28 +03:00
parent d72d3b7980
commit 58597aae21
6 changed files with 14 additions and 10 deletions

View File

@ -22,6 +22,8 @@ bench:
go test -benchmem -bench=. ./php7
compile: ./php5/php5.go ./php7/php7.go ./scanner/scanner.go
sed -i '' -e 's/yyErrorVerbose = false/yyErrorVerbose = true/g' ./php7/php7.go
sed -i '' -e 's/yyErrorVerbose = false/yyErrorVerbose = true/g' ./php5/php5.go
rm -f y.output
./scanner/scanner.go: ./scanner/scanner.l

12
main.go
View File

@ -64,7 +64,11 @@ func parserWorker(pathCh <-chan string, result chan<- parser.Parser) {
var parserWorker parser.Parser
for {
path := <-pathCh
path, ok := <-pathCh
if !ok {
return
}
src, _ := os.Open(path)
if *usePhp5 {
@ -80,7 +84,11 @@ func parserWorker(pathCh <-chan string, result chan<- parser.Parser) {
func printer(result <-chan parser.Parser) {
for {
parserWorker := <-result
parserWorker, ok := <-result
if !ok {
return
}
fmt.Printf("==> %s\n", parserWorker.GetPath())
for _, e := range parserWorker.GetErrors() {

View File

@ -56,9 +56,6 @@ func (l *Parser) Error(msg string) {
// Parse the php7 Parser entrypoint
func (l *Parser) Parse() int {
yyDebug = 0
yyErrorVerbose = true
// init
l.errors = nil
l.rootNode = nil

View File

@ -1968,7 +1968,7 @@ var yyErrorMessages = [...]struct {
var (
yyDebug = 0
yyErrorVerbose = false
yyErrorVerbose = true
)
type yyLexer interface {

View File

@ -56,9 +56,6 @@ func (l *Parser) Error(msg string) {
// Parse the php7 Parser entrypoint
func (l *Parser) Parse() int {
yyDebug = 0
yyErrorVerbose = true
// init
l.errors = nil
l.rootNode = nil

View File

@ -1758,7 +1758,7 @@ var yyErrorMessages = [...]struct {
var (
yyDebug = 0
yyErrorVerbose = false
yyErrorVerbose = true
)
type yyLexer interface {