Ticket #420 (Fixed)Wed Apr 13 14:28:21 UTC 2016
Serial port redirection causes screen corruption
Reported by: | Colin (478) | Severity: | Normal |
Part: | RISC OS: Module | Release: | |
Milestone: | Status | Fixed |
Details by Colin (478):
In a taskwindow if you type:
*echo test { > serial#sleep;rts: }
it corrupts the screen and causes other problems related to the serial device not closing. If testing in Edit you may need to try a couple of times. It seems to always fail in StrongEd. You may need to use serial1 depending on machine.
Changelog:
Modified by Colin (478) Wed, April 13 2016 - 14:45:37 GMT
I should add that it’s related to using sleep which you need for the escape key to work – the rts will lock up the machine otherwise waiting for args_flush to complete which it never will because the other end isn’t connected
Modified by Colin (478) Wed, April 13 2016 - 15:54:23 GMT
Serial1#sleep:rts: works fine when used in a program which is run in a taskwindow – you’ll need to press escape when it says closing in the program below
out% = 0
err% = FALSE
ON ERROR err% = TRUE
IF err% THEN
err% = FALSE
ON ERROR err% = TRUE
ENDIF
PRINT “started”
out%=OPENOUT
A$ = “test”
FOR A% = 1 TO LEN A$
PRINT MID$(A$,A%,1)
BPUT#out%, MID$(A$,A%,1)
NEXT
ERROR 1, “finished”
Modified by Jeffrey Lee (213) Sat, December 02 2017 - 14:59:02 GMT
- Status changed from Open to Fixed
- Part changed from Unspecified to RISC OS: Module
Now fixed in Kernel 5.92, along with a second bug I spotted while looking at the code.