patch 8.1.1977: terminal debugger plugin may hang

Problem:    Terminal debugger plugin may hang.
Solution:   Wait longer when still reading symbols.
This commit is contained in:
Bram Moolenaar
2019-09-04 14:24:24 +02:00
parent 2b43f7f9f4
commit 19c8fe1925
2 changed files with 10 additions and 7 deletions

View File

@ -225,10 +225,12 @@ func s:StartDebug_term(dict)
endif
let response = ''
for lnum in range(1,200)
if term_getline(s:gdbbuf, lnum) =~ 'new-ui mi '
for lnum in range(1, 200)
let line1 = term_getline(s:gdbbuf, lnum)
let line2 = term_getline(s:gdbbuf, lnum + 1)
if line1 =~ 'new-ui mi '
" response can be in the same line or the next line
let response = term_getline(s:gdbbuf, lnum) . term_getline(s:gdbbuf, lnum + 1)
let response = line1 . line2
if response =~ 'Undefined command'
echoerr 'Sorry, your gdb is too old, gdb 7.12 is required'
call s:CloseBuffers()
@ -238,10 +240,9 @@ func s:StartDebug_term(dict)
" Success!
break
endif
if response =~ 'Reading symbols from' && response !~ 'new-ui'
" Reading symbols might take a while
let try_count -= 1
endif
elseif line1 =~ 'Reading symbols from' && line2 !~ 'new-ui mi '
" Reading symbols might take a while, try more times
let try_count -= 1
endif
endfor
if response =~ 'New UI allocated'