[Openmcl-devel] Trouble writing to tcp socket

Joshua Kordani jkordani at lsa2.com
Sat Nov 15 07:58:58 PST 2014


On 11/15/14 1:38 AM, Gary Byers wrote:
> On 11/14/2014 09:44:35 PM, Joshua Kordani wrote:
>> http://paste.lisp.org/display/144373#1
>>
>> Even with the annotate, I can't write out to the socket.  http-client returns nil, and in wireshark I see no packets on the wire.  I am using a netcat listener as a test server, and the read function works just fine, but writing does not.  I have tried this on the latest trunk and also on relesae 1.9, both on osx 10.7 and I get the same result, that is, nothing is written out on the wire as a result of write functions called on this stream.
>>
>> Am I missing something obvious or should I file a bug report?
>
> You're missing something obvious.
>
> FORCE-OUTPUT and FINISH-OUTPUT each take optional arguments which specify what output stream they affect; this argument defaults to the stream which is the value of *STANDARD-OUTPUT*, and this likely isn't what you want.  In your example, calling either
>
> (FORCE-OUTPUT OS)
>
> or
>
> (FINISH-OUTPUT OS)
>
> will cause any data in the stream's buffers to be sent to the OS.  (There was a discussion of the differences between these functions on this list a week or two ago; I don't want to repeat that, but I think that in most cases FORCE-OUTPUT suffices.)
>
> Streams in CCL are almost always fully buffered.
>
>> Thanks.
>>
>> --
>> Joshua Kordani
>> LSA Autonomy
>> _______________________________________________
>> Openmcl-devel mailing list
>> Openmcl-devel at clozure.com
>> https://lists.clozure.com/mailman/listinfo/openmcl-devel
>>

Thanks Gary,

Don't know why I didn't put 2 and 2 together, I recognized that I'd need to pass my stream to all the stream write functions, but not the force/finish output calls...  Btw, what do you mean when you say "fully" buffered?

Thanks again.

Joshua Kordani
LSA Autonomy



More information about the Openmcl-devel mailing list