diff options
Diffstat (limited to 'src/mongo/util/allocator.h')
| -rw-r--r-- | src/mongo/util/allocator.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/mongo/util/allocator.h b/src/mongo/util/allocator.h new file mode 100644 index 00000000000..31bd93406d9 --- /dev/null +++ b/src/mongo/util/allocator.h @@ -0,0 +1,45 @@ +// allocator.h + +/* Copyright 2009 10gen Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include "mongo/util/signal_handlers.h" + +// we need the "real" malloc here +#include "mongo/client/undef_macros.h" + +namespace mongo { + + inline void * ourmalloc(size_t size) { + void *x = malloc(size); + if ( x == 0 ) printStackAndExit(0); + return x; + } + + inline void * ourrealloc(void *ptr, size_t size) { + void *x = realloc(ptr, size); + if ( x == 0 ) printStackAndExit(0); + return x; + } + +#define MONGO_malloc mongo::ourmalloc +#define MONGO_realloc mongo::ourrealloc + +// this redefines 'malloc' to 'MONGO_malloc', etc +#include "mongo/client/redef_macros.h" + +} // namespace mongo |
