[pgsqlclient-checkins] pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient PgDbClient.cs,1.3
Status: Inactive
Brought to you by:
carlosga_fb
From: <car...@us...> - 2003-11-23 13:24:44
|
Update of /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient In directory sc8-pr-cvs1:/tmp/cvs-serv2065 Modified Files: PgDbClient.cs Log Message: 2003-11-23 Carlos Guzmán Álvarez <car...@te...> * source/NPgClient/PgDbClient.cs: - Minor changes to exception handling. Index: PgDbClient.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient/PgDbClient.cs,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** PgDbClient.cs 22 Nov 2003 14:42:08 -0000 1.37 --- PgDbClient.cs 23 Nov 2003 13:24:37 -0000 1.38 *************** *** 193,213 **** } } ! catch (TlsException ex) { ! // If the exception is fatal close connection ! sslStream.Close(); ! throw new PgClientException(ex.Message); } catch (PgClientException ex) { ! if (sslStream != null) ! { ! sslStream.Close(); ! } ! if (networkStream != null) ! { ! networkStream.Close(); ! } throw ex; } --- 193,204 ---- } } ! catch (IOException ex) { ! detach(); throw new PgClientException(ex.Message); } catch (PgClientException ex) { ! detach(); throw ex; } *************** *** 222,236 **** SendData(packet.GetPacketBytes(PgFrontEndCodes.TERMINATE)); ! // Close streams ! if (sslStream != null) ! { ! sslStream.Close(); ! } ! if (networkStream != null) ! { ! networkStream.Close(); ! } } ! catch (TlsException ex) { throw new PgClientException(ex.Message); --- 213,219 ---- SendData(packet.GetPacketBytes(PgFrontEndCodes.TERMINATE)); ! detach(); } ! catch (IOException ex) { throw new PgClientException(ex.Message); *************** *** 244,248 **** internal void SendData(byte[] data) { ! send.Write(data); } --- 227,238 ---- internal void SendData(byte[] data) { ! try ! { ! send.Write(data); ! } ! catch (IOException ex) ! { ! throw ex; ! } } *************** *** 299,314 **** PgResponsePacket responsePacket = null; ! char type = this.receive.ReadChar(); ! int length = IPAddress.HostToNetworkOrder(this.receive.ReadInt32()) - 4; ! // Read the message data ! byte[] buffer = new byte[length]; ! int received = 0; ! while (received < length) { ! received += this.receive.Read(buffer, received, length - received); } - responsePacket = new PgResponsePacket(type, buffer); - responsePacket.Encoding = Settings.Encoding; return responsePacket; --- 289,311 ---- PgResponsePacket responsePacket = null; ! try ! { ! char type = this.receive.ReadChar(); ! int length = IPAddress.HostToNetworkOrder(this.receive.ReadInt32()) - 4; ! // Read the message data ! byte[] buffer = new byte[length]; ! int received = 0; ! while (received < length) ! { ! received += this.receive.Read(buffer, received, length - received); ! } ! responsePacket = new PgResponsePacket(type, buffer); ! responsePacket.Encoding = Settings.Encoding; ! } ! catch (IOException ex) { ! throw ex; } return responsePacket; *************** *** 832,835 **** --- 829,849 ---- this.receive = new BinaryReader(this.networkStream); this.send = new BinaryWriter(this.networkStream); + } + + private void detach() + { + // Close streams + if (sslStream != null) + { + sslStream.Close(); + } + if (networkStream != null) + { + networkStream.Close(); + } + if (socket != null) + { + socket.Close(); + } } |