[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.0-4-g3e0
From: |
Ludovic Courtès |
Subject: |
Re: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.0-4-g3e05fc0 |
Date: |
Tue, 22 Feb 2011 12:36:56 +0100 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/23.2 (gnu/linux) |
Hello,
Andy Wingo <address@hidden> writes:
> On Mon 21 Feb 2011 21:50, address@hidden (Ludovic Courtès) writes:
>
>>> --- a/libguile/ports.c
>>> +++ b/libguile/ports.c
>>> @@ -661,6 +661,19 @@ scm_i_remove_port (SCM port)
>>> scm_port_non_buffer (p);
>>> p->putback_buf = NULL;
>>> p->putback_buf_size = 0;
>>> +
>>> + if (p->input_cd != (iconv_t) -1)
>>> + {
>>> + iconv_close (p->input_cd);
>>> + p->input_cd = (iconv_t) -1;
>>> + }
>>> +
>>> + if (p->output_cd != (iconv_t) -1)
>>> + {
>>> + iconv_close (p->output_cd);
>>> + p->output_cd = (iconv_t) -1;
>>> + }
>>> +
>>
>> I don’t think this is needed: each port has a finalizer,
>> ‘finalize_port’, which normally takes care of this, eventually.
>
> It is needed, but only in the case that you `close-port' explicitly.
> The block in finalize_port only takes care of gc'd open ports.
Right. Closed ports are eventually GC’d, so in that sense it is not
strictly needed, but OK.
Valgrind was wrong! ;-)
Ludo’.