Pooled connections are marked as closed when the underlying physical connection is closed.

Note that failure to reflect the close status of the underlying physicial connection makes the following case happen: all calls to the pooled connection throw an exception stating that the connection is already closed but isClosed still returns false.
The latter can make a connection closed by backend or network reasons to be kept in pool.