~ubuntu-branches/ubuntu/maverick/mysql-5.1/maverick-proposed

« back to all changes in this revision

Viewing changes to storage/innobase/sync/sync0sync.c

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-02-22 14:16:05 UTC
  • mto: This revision was merged to the branch mainline in revision 20.
  • Revision ID: package-import@ubuntu.com-20120222141605-nxlu9yzc6attylc2
Tags: upstream-5.1.61
ImportĀ upstreamĀ versionĀ 5.1.61

Show diffs side-by-side

added added

removed removed

Lines of Context:
641
641
        ut_ad(mutex);
642
642
        ut_ad(file_name);
643
643
 
644
 
        sync_thread_add_level(mutex, mutex->level);
 
644
        sync_thread_add_level(mutex, mutex->level, FALSE);
645
645
 
646
646
        mutex->file_name = file_name;
647
647
        mutex->line      = line;
1011
1011
sync_thread_add_level(
1012
1012
/*==================*/
1013
1013
        void*   latch,  /* in: pointer to a mutex or an rw-lock */
1014
 
        ulint   level)  /* in: level in the latching order; if
 
1014
        ulint   level,  /* in: level in the latching order; if
1015
1015
                        SYNC_LEVEL_VARYING, nothing is done */
 
1016
        ibool   relock) /* in: TRUE if re-entering an x-lock */
1016
1017
{
1017
1018
        sync_level_t*   array;
1018
1019
        sync_level_t*   slot;
1060
1061
 
1061
1062
        array = thread_slot->levels;
1062
1063
 
 
1064
        if (relock) {
 
1065
                goto levels_ok;
 
1066
        }
 
1067
 
1063
1068
        /* NOTE that there is a problem with _NODE and _LEAF levels: if the
1064
1069
        B-tree height changes, then a leaf can change to an internal node
1065
1070
        or the other way around. We do not know at present if this can cause
1209
1214
                ut_error;
1210
1215
        }
1211
1216
 
 
1217
levels_ok:
1212
1218
        for (i = 0; i < SYNC_THREAD_N_LEVELS; i++) {
1213
1219
 
1214
1220
                slot = sync_thread_levels_get_nth(array, i);