guile-devel
[Top][All Lists]
Advanced

[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’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]