1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-22 17:44:29 +03:00

Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.1-engines

into  blade08.mysql.com:/data0/istruewing/autopush/mysql-5.1-bug25460
This commit is contained in:
unknown
2007-03-13 17:55:04 +01:00

View File

@@ -350,11 +350,13 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function, void *extra_arg)
#ifdef HAVE_MMAP #ifdef HAVE_MMAP
pthread_mutex_lock(&share->intern_lock); pthread_mutex_lock(&share->intern_lock);
/* /*
Memory map the data file if it is not already mapped and if there Memory map the data file if it is not already mapped. It is safe
are no other threads using this table. intern_lock prevents other to memory map a file while other threads are using file I/O on it.
threads from starting to use the table while we are mapping it. Assigning a new address to a function pointer is an atomic
operation. intern_lock prevents that two or more mappings are done
at the same time.
*/ */
if (!share->file_map && (share->tot_locks == 1)) if (!share->file_map)
{ {
if (mi_dynmap_file(info, share->state.state.data_file_length)) if (mi_dynmap_file(info, share->state.state.data_file_length))
{ {