8169026: Handle smartcard clean up better
Reviewed-by: valeriep, ahgross
diff --git a/src/java.smartcardio/share/classes/sun/security/smartcardio/CardImpl.java b/src/java.smartcardio/share/classes/sun/security/smartcardio/CardImpl.java
index d7e8f49..019ea78 100644
--- a/src/java.smartcardio/share/classes/sun/security/smartcardio/CardImpl.java
+++ b/src/java.smartcardio/share/classes/sun/security/smartcardio/CardImpl.java
@@ -270,7 +270,7 @@
}
public String toString() {
- return "PC/SC card in " + terminal.getName()
+ return "PC/SC card in " + terminal.name
+ ", protocol " + getProtocol() + ", state " + state;
}
@@ -278,6 +278,7 @@
protected void finalize() throws Throwable {
try {
if (state == State.OK) {
+ state = State.DISCONNECTED;
SCardDisconnect(cardId, SCARD_LEAVE_CARD);
}
} finally {