Michael Schnell wrote:
 On 09/29/2010 01:26 PM, Mark Morgan Lloyd wrote:

But the serial does allow you access to the handle, so it's trivial to use select() (actually fpSelect()) to implement the timeout.
Is spSelect() portable / Cross-Platform ?

It certainly is in the context of socket programming, I've not checked- yet- the situation with serial ports and general files.

However if I recall correctly low-level Windows read and write syscalls have their own timeout parameters, so the correct thing would be to wrap (for example) serial.pp and TComPort in a mid-level object and then implement things like event notification at that level.

interface based on functions and Object Pascal Events that (if not especially stated in the docs) are fired in the context of the main thread.

I agree. But on the other hand I think it's a mistake to write low-level support with too many embedded assumptions, using serial comms for illustration you might want events to go to the main thread if writing a terminal emulator but not if writing a multithreaded store-and-forward server.

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

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

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to