johnc@rtmvax.UUCP (John Connin) (07/28/88)
I finally decided to give Minix's serial communications a whirl and
quickly found that it (updated to V1.3b) is missing characters at 1200.
To make a long story short, I decide to roll up my sleeves and investigate.
By accident I discovered that for every TTY read completion (console or
rs232), a get_time message is being set to the clock task. In other words,
a simple <enter> at the command prompt will cause a get_time message to
be generated.
If my 1.3b update is correct, the source of the get_time messages is
the following code fragment from fs/read.c beginning on or about line 153.
if (rw_flag == WRITING) {
if (char_spec == 0 && block_spec == 0 && position > f_size)
rip->i_size = position;
rip->i_modtime = clock_time(); <<<<<<<
rip->i_dirt = DIRTY;
}
which I changed as follows:
if (rw_flag == WRITING) {
if (char_spec == 0 && block_spec == 0 && position > f_size) {
rip->i_size = position;
rip->i_modtime = clock_time();
rip->i_dirt = DIRTY;
}
}
Lacking confidence at this point, I would be appreciative of any and all
second opinions regarding this change. Does my original code conform
to version 1.3b? Are there any undesireable side-effects resulting from
the above change? etc...
BTW: Though the above change makes an improvement, I am still missing
characters at 1200 baud.