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();
+ }
}
|