On 7/31/18 11:20 AM, Russel Winder wrote:
On Tue, 2018-07-31 at 08:39 -0400, Steven Schveighoffer via
Digitalmars-d-learn wrote:

[…]
Hm.. it appears that there is a timeout exception thrown if there is
no
data within a certain time period. Are you getting that instead?

To be honest, I am not sure. From a "I haven't looked at the library
source, it's just a black box" all I can say is that if the buffer is
256 and there are >256 ubytes left the function returns but if there
are <256 ubytes left an exception is thrown. I haven't checked the type
of the exception or the exception message. Basically I got too annoyed
that the documentation was sensible and the implementation wasn't
meeting the documentation, I lost interest.

Understandable. I actually don't think you ever posted the real message that comes out, just a link to the source code, from which I found it wasn't obeying the mode variable.

But now, it looks like it should be obeying the variable, yet you get an execption. Knowing what the actual message is would be helpful, at least for filing a bug or fixing it.


I'm not completely familiar with the mechanisms here, but it does
appear
to obey the other modes properly in this iteration of the library.

I tried IOMode.all and IOMode.once but they both appeared to behave the
same. I can't remember trying IOMode.immediate.


What I mean is, I can't see why it would be throwing an exception when you supply the IOMode.once. But possibly if there is a timeout, it might be doing that.

Or maybe there is another issue.

-Steve

Reply via email to