Example #1
0
 /// <summary>
 /// Called after writing all data to CopyStream to successfully complete this copy operation.
 /// </summary>
 public void End()
 {
     if (_context != null)
     {
         try
         {
             if (IsActive)
             {
                 // Stop Notification thread so we can process this message.
                 // See bug 1010796
                 using (_context.BlockNotificationThread())
                 {
                     _context.CurrentState.SendCopyDone(_context);
                 }
             }
         }
         finally
         {
             if (_context.Mediator.CopyStream == _copyStream)
             {
                 _context.Mediator.CopyStream = null;
             }
             if (_disposeCopyStream)
             {
                 _copyStream = null;
             }
         }
     }
 }
        internal static void ExecuteBlindSuppressTimeout(NpgsqlConnector connector, NpgsqlQuery query)
        {
            // Block the notification thread before writing anything to the wire.
            using (var blocker = connector.BlockNotificationThread())
            {
                // Write the Query message to the wire.
                connector.Query(query);

                // Flush, and wait for and discard all responses.
                connector.ProcessAndDiscardBackendResponses();
            }
        }