Below is the list of changes that have just been committed into a local
5.1 repository of iggy. When iggy does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-03-20 10:54:56-04:00, iggy@recycle.(none) +4 -0
Merge recycle.(none):/src/bug23736/my50-bug23736
into recycle.(none):/src/bug23736/my51-bug23736
MERGE: 1.1810.2373.80
client/mysqlbinlog.cc@stripped, 2007-03-20 10:50:44-04:00, iggy@recycle.(none) +0 -0
Auto merged
MERGE: 1.123.1.13
include/my_sys.h@stripped, 2007-03-20 10:50:44-04:00, iggy@recycle.(none) +0 -0
Auto merged
MERGE: 1.178.2.16
mysys/array.c@stripped, 2007-03-20 10:50:44-04:00, iggy@recycle.(none) +0 -0
Auto merged
MERGE: 1.11.1.2
mysys/mf_tempdir.c@stripped, 2007-03-20 10:54:54-04:00, iggy@recycle.(none) +1 -2
Manual Merge.
MERGE: 1.3.1.3
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: iggy
# Host: recycle.(none)
# Root: /src/bug23736/my51-bug23736/RESYNC
--- 1.217/include/my_sys.h 2007-01-24 12:56:57 -05:00
+++ 1.218/include/my_sys.h 2007-03-20 10:50:44 -04:00
@@ -312,22 +312,23 @@
extern struct st_my_file_info *my_file_info;
+typedef struct st_dynamic_array
+{
+ char *buffer;
+ uint elements,max_element;
+ uint alloc_increment;
+ uint size_of_element;
+} DYNAMIC_ARRAY;
+
typedef struct st_my_tmpdir
{
+ DYNAMIC_ARRAY full_list;
char **list;
uint cur, max;
#ifdef THREAD
pthread_mutex_t mutex;
#endif
} MY_TMPDIR;
-
-typedef struct st_dynamic_array
-{
- char *buffer;
- uint elements,max_element;
- uint alloc_increment;
- uint size_of_element;
-} DYNAMIC_ARRAY;
typedef struct st_dynamic_string
{
--- 1.13/mysys/array.c 2006-12-23 14:19:45 -05:00
+++ 1.14/mysys/array.c 2007-03-20 10:50:44 -04:00
@@ -15,10 +15,6 @@
/* Handling of arrays that can grow dynamicly. */
-#if defined(WIN32) || defined(__WIN__)
-#undef SAFEMALLOC /* Problems with threads */
-#endif
-
#include "mysys_priv.h"
#include "m_string.h"
--- 1.149/client/mysqlbinlog.cc 2007-02-24 18:12:06 -05:00
+++ 1.150/client/mysqlbinlog.cc 2007-03-20 10:50:44 -04:00
@@ -158,11 +158,7 @@
public:
Load_log_processor() {}
- ~Load_log_processor()
- {
- destroy();
- delete_dynamic(&file_names);
- }
+ ~Load_log_processor() {}
int init()
{
@@ -182,20 +178,22 @@
target_dir_name_len= strlen(target_dir_name);
}
void destroy()
+ {
+ File_name_record *ptr= (File_name_record *)file_names.buffer;
+ File_name_record *end= ptr + file_names.elements;
+ for (; ptr < end; ptr++)
{
- File_name_record *ptr= (File_name_record *)file_names.buffer;
- File_name_record *end= ptr + file_names.elements;
- for (; ptr<end; ptr++)
+ if (ptr->fname)
{
- if (ptr->fname)
- {
- my_free(ptr->fname, MYF(MY_WME));
- delete ptr->event;
- bzero((char *)ptr, sizeof(File_name_record));
- }
+ my_free(ptr->fname, MYF(MY_WME));
+ delete ptr->event;
+ bzero((char *)ptr, sizeof(File_name_record));
}
}
+ delete_dynamic(&file_names);
+ }
+
/*
Obtain Create_file event for LOAD DATA statement by its file_id.
@@ -1577,6 +1575,7 @@
cleanup();
free_defaults(defaults_argv);
my_free_open_file_info();
+ load_processor.destroy();
/* We cannot free DBUG, it is used in global destructors after exit(). */
my_end((info_flag ? MY_CHECK_ERROR : 0) | MY_DONT_FREE_DBUG);
--- 1.10/mysys/mf_tempdir.c 2006-12-23 14:19:46 -05:00
+++ 1.11/mysys/mf_tempdir.c 2007-03-20 10:54:54 -04:00
@@ -26,12 +26,11 @@
{
char *end, *copy;
char buff[FN_REFLEN];
- DYNAMIC_ARRAY t_arr;
DBUG_ENTER("init_tmpdir");
DBUG_PRINT("enter", ("pathlist: %s", pathlist ? pathlist : "NULL"));
pthread_mutex_init(&tmpdir->mutex, MY_MUTEX_INIT_FAST);
- if (my_init_dynamic_array(&t_arr, sizeof(char*), 1, 5))
+ if (my_init_dynamic_array(&tmpdir->full_list, sizeof(char*), 1, 5))
goto err;
if (!pathlist || !pathlist[0])
{
@@ -53,14 +52,14 @@
strmake(buff, pathlist, (uint) (end-pathlist));
length= cleanup_dirname(buff, buff);
if (!(copy= my_strndup(buff, length, MYF(MY_WME))) ||
- insert_dynamic(&t_arr, (gptr) ©))
+ insert_dynamic(&tmpdir->full_list, (gptr) ©))
DBUG_RETURN(TRUE);
pathlist=end+1;
}
while (*end);
- freeze_size(&t_arr);
- tmpdir->list=(char **)t_arr.buffer;
- tmpdir->max=t_arr.elements-1;
+ freeze_size(&tmpdir->full_list);
+ tmpdir->list=(char **)tmpdir->full_list.buffer;
+ tmpdir->max=tmpdir->full_list.elements-1;
tmpdir->cur=0;
DBUG_RETURN(FALSE);
@@ -88,7 +87,7 @@
uint i;
for (i=0; i<=tmpdir->max; i++)
my_free(tmpdir->list[i], MYF(0));
- my_free((gptr)tmpdir->list, MYF(0));
+ delete_dynamic(&tmpdir->full_list);
pthread_mutex_destroy(&tmpdir->mutex);
}
| Thread |
|---|
| • bk commit into 5.1 tree (iggy:1.2482) | Ignacio Galarza | 20 Mar |