System.Data.SqlClient.TdsParser.ExecuteFlushTaskCallback C# (CSharp) Method

ExecuteFlushTaskCallback() private method

private ExecuteFlushTaskCallback ( System.Threading.Task tsk, System.Data.SqlClient.TdsParserStateObject stateObj, TaskCompletionSource completion, bool releaseConnectionLock ) : void
tsk System.Threading.Task
stateObj System.Data.SqlClient.TdsParserStateObject
completion TaskCompletionSource
releaseConnectionLock bool
return void
        private void ExecuteFlushTaskCallback(Task tsk, TdsParserStateObject stateObj, TaskCompletionSource<object> completion, bool releaseConnectionLock)
        {
            try
            {
                FinalizeExecuteRPC(stateObj);
                if (tsk.Exception != null)
                {
                    Exception exc = tsk.Exception.InnerException;
                    try
                    {
                        FailureCleanup(stateObj, tsk.Exception);
                    }
                    catch (Exception e)
                    {
                        exc = e;
                    }
                    completion.SetException(exc);
                }
                else
                {
                    completion.SetResult(null);
                }
            }
            finally
            {
                if (releaseConnectionLock)
                {
                    _connHandler._parserLock.Release();
                }
            }
        }
TdsParser