System.Data.SQLite

Check-in [6ec25f2c57]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:In the enlistment cleanup, validate the 'cnn' parameter prior to attempting to use it.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | tkt-5cee5409f8
Files: files | file ages | folders
SHA1: 6ec25f2c57e74da2b463970532a931927ffc6e8e
User & Date: mistachkin 2018-01-25 18:53:11.459
Context
2018-01-25
18:56
Merge updates from trunk. check-in: 686803b92e user: mistachkin tags: tkt-5cee5409f8
18:53
In the enlistment cleanup, validate the 'cnn' parameter prior to attempting to use it. check-in: 6ec25f2c57 user: mistachkin tags: tkt-5cee5409f8
2018-01-24
18:11
Synchronize access to the '_enlistment' field of SQLiteConnection objects. Even thought the SQLiteConnection class is not designed to be thread-safe, this field must be protected from multi-threaded access due to how (asynchronous) transaction scope completion is implemented by the .NET Framework. Candidate fix for ticket [5cee5409f8]. check-in: 8f44046b6f user: mistachkin tags: tkt-5cee5409f8
Changes
Unified Diff Ignore Whitespace Patch
Changes to System.Data.SQLite/SQLiteEnlistment.cs.
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
        return defaultIsolationLevel;
    }

    ///////////////////////////////////////////////////////////////////////////

    private void Cleanup(SQLiteConnection cnn)
    {
        if (_disposeConnection)
            cnn.Dispose();

        _transaction = null;
        _scope = null;
    }
    #endregion








|







102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
        return defaultIsolationLevel;
    }

    ///////////////////////////////////////////////////////////////////////////

    private void Cleanup(SQLiteConnection cnn)
    {
        if (_disposeConnection && (cnn != null))
            cnn.Dispose();

        _transaction = null;
        _scope = null;
    }
    #endregion