]>
Commit | Line | Data |
---|---|---|
1c79356b | 1 | /* |
39236c6e | 2 | * Copyright (c) 2012 Apple Computer, Inc. All rights reserved. |
1c79356b | 3 | * |
6d2010ae | 4 | * @APPLE_LICENSE_HEADER_START@ |
0a7de745 | 5 | * |
2d21ac55 A |
6 | * This file contains Original Code and/or Modifications of Original Code |
7 | * as defined in and that are subject to the Apple Public Source License | |
8 | * Version 2.0 (the 'License'). You may not use this file except in | |
6d2010ae A |
9 | * compliance with the License. Please obtain a copy of the License at |
10 | * http://www.opensource.apple.com/apsl/ and read it before using this | |
11 | * file. | |
0a7de745 | 12 | * |
2d21ac55 A |
13 | * The Original Code and all software distributed under the License are |
14 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER | |
8f6c56a5 A |
15 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, |
16 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, | |
2d21ac55 A |
17 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. |
18 | * Please see the License for the specific language governing rights and | |
19 | * limitations under the License. | |
0a7de745 | 20 | * |
6d2010ae A |
21 | * @APPLE_LICENSE_HEADER_END@ |
22 | */ | |
23 | ||
39236c6e | 24 | #include <sys/cdefs.h> |
6d2010ae | 25 | |
39236c6e | 26 | #if __DARWIN_UNIX03 |
6d2010ae | 27 | |
39236c6e A |
28 | #include <sys/mman.h> |
29 | #include <mach/mach_init.h> | |
30 | #include "stack_logging_internal.h" | |
6d2010ae A |
31 | |
32 | /* | |
39236c6e | 33 | * munmap stub, for stack logging of VM allocations. |
6d2010ae | 34 | * |
39236c6e | 35 | * This is for UNIX03 only. |
1c79356b | 36 | */ |
39236c6e A |
37 | extern int __munmap(void *, size_t); |
38 | ||
39 | int | |
40 | munmap(void *addr, size_t len) | |
41 | { | |
0a7de745 A |
42 | if (__syscall_logger) { |
43 | __syscall_logger(stack_logging_type_vm_deallocate, (uintptr_t)mach_task_self(), (uintptr_t)addr, len, 0, 0); | |
44 | } | |
45 | ||
46 | int result = __munmap(addr, len); | |
813fb2f6 | 47 | |
0a7de745 | 48 | return result; |
39236c6e | 49 | } |
1c79356b | 50 | |
39236c6e | 51 | #endif /* __DARWIN_UNIX03 */ |