Closed mdavidsaver closed 9 months ago
This is the loop which sticks when shiftIR()
returns immediately with an error.
LGTM. Yes usual way is to use return with an error code and let caller deal with this value, but it's true in many part this error code isn't evaluated. Reasons are mainly:
Applied. Thanks @mdavidsaver
In trying out openFPGALoader with a new (and therefore buggy) XVC server I managed to put openFPGALoader into a tight loop printing
Send instruction failed
when that server crashed.Somewhat crudely, this PR
throw
s a c++ exception in the places wherell_write()
errors were being ignored. These exceptions are not caught, and soabort()
. An improvement, although not ideal. It isn't clear to me how to communicate failure back throughXilinx::program()
.Also, add
sendall()
logic as TCP socketsend()
may enqueue some, but not all, of the requested bytes.