SQLite4
Check-in [dd2489a645]
Not logged in

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

Overview
Comment:Fix a crash in multi-threaded tests that can occur if a call to lsm_open() fails.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | multi-process
Files: files | file ages | folders
SHA1: dd2489a645e805bf9c18294c77036307db88efc0
User & Date: dan 2012-09-02 09:25:39
Context
2012-09-03
11:34
Fix a race condition between flushing an in-memory tree to disk and opening a read-transaction. check-in: 6ced48df30 user: dan tags: multi-process
2012-09-02
09:25
Fix a crash in multi-threaded tests that can occur if a call to lsm_open() fails. check-in: dd2489a645 user: dan tags: multi-process
2012-09-01
16:39
Fix a problem allowing shared memory to be recycled too early. check-in: c2f247c372 user: dan tags: multi-process
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to lsm-test/lsmtest5.c.

522
523
524
525
526
527
528

529

530
531
532
533
534
535
536
  }

  /* Open a new database connection. Initialize the pseudo-random number
  ** argument based on the thread number.  */
  iPrng = testPrngValue(iThread);
  pDb = testOpen(p->zSystem, 0, &rc);


  tdb_lsm_config_work_hook(pDb, xMt1Work, 0);


  /* Loop until either an error occurs or some other thread sets the
  ** halt flag.  */
  while( rc==0 && testThreadGetHalt(pThreadSet)==0 ){
    int iKey;

    /* Perform a read operation on an arbitrarily selected key. */







>
|
>







522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
  }

  /* Open a new database connection. Initialize the pseudo-random number
  ** argument based on the thread number.  */
  iPrng = testPrngValue(iThread);
  pDb = testOpen(p->zSystem, 0, &rc);

  if( rc==0 ){
    tdb_lsm_config_work_hook(pDb, xMt1Work, 0);
  }

  /* Loop until either an error occurs or some other thread sets the
  ** halt flag.  */
  while( rc==0 && testThreadGetHalt(pThreadSet)==0 ){
    int iKey;

    /* Perform a read operation on an arbitrarily selected key. */