Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
4cae9fe9
Commit
4cae9fe9
authored
Apr 03, 2002
by
monty@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
Merge work:/home/bk/mysql-4.0 into hundin.mysql.fi:/my/bk/mysql-4.0
parents
ed4d6a73
6462c980
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
11 deletions
+27
-11
mysys/my_static.h
mysys/my_static.h
+5
-1
mysys/safemalloc.c
mysys/safemalloc.c
+22
-10
No files found.
mysys/my_static.h
View file @
4cae9fe9
...
...
@@ -38,7 +38,9 @@ struct irem {
my_string
_sFileName
;
/* File in which memory was new'ed */
uint
_uLineNum
;
/* Line number in above file */
uint
_uDataSize
;
/* Size requested */
#ifdef THREAD
pthread_t
thread_id
;
#endif
long
_lSpecialValue
;
/* Underrun marker value */
};
...
...
@@ -57,11 +59,13 @@ extern const char *soundex_map;
extern
USED_MEM
*
my_once_root_block
;
extern
uint
my_once_extra
;
#ifdef THREAD
/*
These threads are exept from safemalloc leak scrutiny unless
These threads are ex
c
ept from safemalloc leak scrutiny unless
PEDANTIC_SAFEMALLOC is defined
*/
extern
pthread_t
signal_thread
,
kill_thread
;
#endif
#ifndef HAVE_TEMPNAM
extern
int
_my_tempnam_used
;
...
...
mysys/safemalloc.c
View file @
4cae9fe9
...
...
@@ -185,7 +185,9 @@ gptr _mymalloc (uint uSize, const char *sFile, uint uLine, myf MyFlags)
pTmp
->
sFileName
=
(
my_string
)
sFile
;
pTmp
->
uLineNum
=
uLine
;
pTmp
->
uDataSize
=
uSize
;
#ifdef THREAD
pTmp
->
thread_id
=
pthread_self
();
#endif
pTmp
->
pPrev
=
NULL
;
/* Add this remember structure to the linked list */
...
...
@@ -371,12 +373,19 @@ static int check_ptr(const char *where, byte *ptr, const char *sFile,
return
0
;
}
#ifdef THREAD
static
int
legal_leak
(
struct
remember
*
pPtr
)
{
return
pthread_self
()
==
pPtr
->
thread_id
||
main_th
==
pPtr
->
thread_id
||
shutdown_th
==
pPtr
->
thread_id
||
signal_th
==
pPtr
->
thread_id
;
}
#else
static
int
legal_leak
(
struct
remember
*
pPtr
)
{
return
1
;
}
#endif
/*
* TERMINATE(FILE *file)
...
...
@@ -390,17 +399,20 @@ void TERMINATE (FILE *file)
DBUG_ENTER
(
"TERMINATE"
);
pthread_mutex_lock
(
&
THR_LOCK_malloc
);
/* Report the difference between number of calls to */
/* NEW and the number of calls to FREE. >0 means more */
/* NEWs than FREEs. <0, etc. */
/*
Report the difference between number of calls to
NEW and the number of calls to FREE. >0 means more
NEWs than FREEs. <0, etc.
*/
#ifndef PEDANTIC_SAFEMALLOC
/* Avoid false alarms for blocks that we cannot free before my_end()
This does miss some positives, but that is ok. This will only miss
failures to free things allocated in the main thread which
performs only one-time allocations. If you really need to
debug memory allocations in the main thread,
#define PEDANTIC_SAFEMALLOC
#if !defined(PEDANTIC_SAFEMALLOC) && defined(THREAD)
/*
Avoid false alarms for blocks that we cannot free before my_end()
This does miss some positives, but that is ok. This will only miss
failures to free things allocated in the main thread which
performs only one-time allocations. If you really need to
debug memory allocations in the main thread,
#define PEDANTIC_SAFEMALLOC
*/
if
((
pPtr
=
pRememberRoot
))
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment