mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-01 08:48:29 +00:00
Introduce ctl::set and ctl::map
We now have a C++ red-black tree implementation that implements standard template library compatible APIs while compiling 10x faster than libcxx. It's not as beautiful as the red-black tree implementation in Plinko but this will get the job done and the test proves it upholds all invariants This change also restores CheckForMemoryLeaks() support and fixes a real actual bug I discovered with Doug Lea's dlmalloc_inspect_all() function.
This commit is contained in:
parent
388e236360
commit
c4c812c154
45 changed files with 2358 additions and 135 deletions
|
@ -27,9 +27,9 @@
|
|||
#include "libc/errno.h"
|
||||
#include "libc/fmt/wintime.internal.h"
|
||||
#include "libc/intrin/dll.h"
|
||||
#include "libc/intrin/leaky.internal.h"
|
||||
#include "libc/intrin/strace.internal.h"
|
||||
#include "libc/intrin/weaken.h"
|
||||
#include "libc/mem/leaks.h"
|
||||
#include "libc/mem/mem.h"
|
||||
#include "libc/nt/accounting.h"
|
||||
#include "libc/nt/enum/processaccess.h"
|
||||
|
@ -283,7 +283,7 @@ textwindows struct Proc *__proc_new(void) {
|
|||
}
|
||||
if (!proc) {
|
||||
if (_weaken(malloc)) {
|
||||
proc = _weaken(malloc)(sizeof(struct Proc));
|
||||
proc = may_leak(_weaken(malloc)(sizeof(struct Proc)));
|
||||
} else {
|
||||
enomem();
|
||||
return 0;
|
||||
|
@ -297,8 +297,6 @@ textwindows struct Proc *__proc_new(void) {
|
|||
return proc;
|
||||
}
|
||||
|
||||
IGNORE_LEAKS(__proc_new)
|
||||
|
||||
/**
|
||||
* Adds process to active list.
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue