On Apr 11, 2013, at 11:06 AM, Steve Byan <[email protected]> wrote:

> 
> On Apr 11, 2013, at 10:34 AM, Robby Findler <[email protected]> 
> wrote:
> 
>> You need to close the port I believe. 
> 
> Thanks, I assumed the close wasn't needed except to release the file 
> descriptor; I didn't realize it is also needed to flush the output buffer. I 
> just read section 12.1 "Ports" which says close is necessary "to release 
> low-level resources associated with the port." I should have also read 
> section 12.1.3 "Port Buffers and Positions" in the reference. Perhaps section 
> 12.1 would be improved by adding a mention of buffer flushing to the 
> description of close?
> 
> My previous experience with output ports used "call-with-output-file" which 
> implicitly closes the port, so I have at least some excuse for my ignorance 
> :-)


Since your program is using the port in a way that isn't delimited 
syntactically for a dynamic extent, your program is responsible for closing the 
ports (or flushing them somehow). -- Matthias



____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to