From murdoch.duncan at gmail.com  Fri Apr  8 17:09:30 2011
From: murdoch.duncan at gmail.com (Duncan Murdoch)
Date: Fri, 08 Apr 2011 11:09:30 -0400
Subject: [Rd] Invalid connection after closing?
In-Reply-To: <BANLkTin3MO-f_dLz4RnCRnj_EXP-Bd=c3Q@mail.gmail.com>
References: <BANLkTin3MO-f_dLz4RnCRnj_EXP-Bd=c3Q@mail.gmail.com>
Message-ID: <4D9F252A.3020702@gmail.com>

On 08/04/2011 10:56 AM, Joris Meys wrote:
> Dear all,
>
> I do not completely understand following behaviour :
>
> >  con<- file("test.txt")
> >  isOpen(con)
> [1] FALSE
> >  open(con)
> >  isOpen(con)
> [1] TRUE
> >  close(con)
> >  isOpen(con)
> Error in isOpen(con) : invalid connection
> >  str(con)
> Classes 'file', 'connection'  atomic [1:1] 3
>    ..- attr(*, "conn_id")=<externalptr>
>
> Why do I get an error, indicating an invalid connection, after I
> closed a connection? Is this to be expected?

Quoting ?close: " ?close? closes and destroys a connection. " In the 
current implementation, connections are a finite resource, and you need 
to be able to get rid of them when you are done. close(con) is the way 
to do that. If you want to re-open it, you need to remember the filename 
(or extract it before calling close()), and issue another call to file().

Duncan Murdoch



[Rd] Invalid connection after closing?
Duncan Murdoch