[fpc-pascal] (Unix) serial port handling

Mark Morgan Lloyd markMLl.fpc-pascal at telemetry.co.uk
Wed Mar 9 15:49:33 CET 2011


Henry Vermaak wrote:
> On 09/03/11 11:30, Mark Morgan Lloyd wrote:
>> Henry Vermaak wrote:
>>> On 08/03/11 10:30, Mark Morgan Lloyd wrote:
>>>> Can anybody say whether there is a good reason that serial.pp lacks a
>>>> function to read the CD signal?
>>>>
>>>> Is SerFlush, which calls fpfsync, intended to discard input data, 
>>>> output
>>>> data or both?
>>>
>>> fsync just makes sure all the in-kernel caches are written to the
>>> device. Flushing input data is just a matter of reading it.
>>
>> Thanks for that Henry. Obviously there's scope for confusion here with
>> the kernel's tcflush() and tcdrain() functions, where tcflush discards
>> input and/or output data.
> 
> You're right.  Thinking about it, I don't know what the use of an fsync 
> is in SerFlush, since you still don't know if it's been transmitted. I'd 
> consider this a bug, SerFlush should use tcdrain.

I was using this to communicate with an HP instrument a few weeks ago, 
so have my own re-implementation of some of the stuff. I'll look at 
doing a patch, preparatory to seeing if I can hack a complementary 
Win-32 equivalent.

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]



More information about the fpc-pascal mailing list