Changeset c3f95d8 in mainline for uspace/lib/block/libblock.c


Ignore:
Timestamp:
2011-03-13T11:39:00Z (13 years ago)
Author:
Martin Sucha <sucha14@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5e3eea10
Parents:
f8c60f5 (diff), c1a5d8d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merged mainline changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/block/libblock.c

    rf8c60f5 rc3f95d8  
    412412        l = hash_table_find(&cache->block_hash, &key);
    413413        if (l) {
     414found:
    414415                /*
    415416                 * We found the block in the cache.
     
    494495                                        fibril_mutex_unlock(&b->lock);
    495496                                        goto retry;
     497                                }
     498                                l = hash_table_find(&cache->block_hash, &key);
     499                                if (l) {
     500                                        /*
     501                                         * Someone else must have already
     502                                         * instantiated the block while we were
     503                                         * not holding the cache lock.
     504                                         * Leave the recycled block on the
     505                                         * freelist and continue as if we
     506                                         * found the block of interest during
     507                                         * the first try.
     508                                         */
     509                                        fibril_mutex_unlock(&b->lock);
     510                                        goto found;
    496511                                }
    497512
Note: See TracChangeset for help on using the changeset viewer.