diff options
author | 2022-11-12 18:30:12 -0800 | |
---|---|---|
committer | 2022-11-12 18:30:12 -0800 | |
commit | 21bf3ddaf23c842dc12a1d76dbd3b48daf08f349 (patch) | |
tree | 06706104877984e9f083fed7c3278c9d007193cc /src/bun.js/bindings/wtf-bindings.cpp | |
parent | 514f2a8eddf1a1d35a33cc096ed7403a79afe36f (diff) | |
download | bun-21bf3ddaf23c842dc12a1d76dbd3b48daf08f349.tar.gz bun-21bf3ddaf23c842dc12a1d76dbd3b48daf08f349.tar.zst bun-21bf3ddaf23c842dc12a1d76dbd3b48daf08f349.zip |
Redo how we poll pipes (#1496)
* Fix pipe
* Handle unregistered
* Fix failing test
Diffstat (limited to 'src/bun.js/bindings/wtf-bindings.cpp')
-rw-r--r-- | src/bun.js/bindings/wtf-bindings.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/bun.js/bindings/wtf-bindings.cpp b/src/bun.js/bindings/wtf-bindings.cpp index 78b88ad5e..699e3db5b 100644 --- a/src/bun.js/bindings/wtf-bindings.cpp +++ b/src/bun.js/bindings/wtf-bindings.cpp @@ -23,26 +23,26 @@ extern "C" void Bun__crashReportDumpStackTrace(void* ctx) void* stack[framesToShow + framesToSkip]; int frames = framesToShow + framesToSkip; WTFGetBacktrace(stack, &frames); + int size = frames - framesToSkip; bool isFirst = true; - WTF::StackTraceSymbolResolver { { stack, static_cast<size_t>(frames) } }.forEach([&](int frameNumber, void* stackFrame, const char* name) { - if (frameNumber < framesToSkip) - return; - + for (int frameNumber = 0; frameNumber < size; ++frameNumber) { + auto demangled = WTF::StackTraceSymbolResolver::demangle(stack[frameNumber]); + StringPrintStream out; if (isFirst) { isFirst = false; - if (name) - out.printf("\n%-3d %p %s", frameNumber, stackFrame, name); + if (demangled) + out.printf("\n%-3d %p %s", frameNumber, stack[frameNumber], demangled->demangledName() ? demangled->demangledName() : demangled->mangledName()); else - out.printf("\n%-3d %p", frameNumber, stackFrame); + out.printf("\n%-3d %p", frameNumber, stack[frameNumber]); } else { - if (name) - out.printf("%-3d %p %s", frameNumber, stackFrame, name); + if (demangled) + out.printf("%-3d ??? %s", frameNumber, demangled->demangledName() ? demangled->demangledName() : demangled->mangledName()); else - out.printf("%-3d %p", frameNumber, stackFrame); + out.printf("%-3d ???", frameNumber); } auto str = out.toCString(); Bun__crashReportWrite(ctx, str.data(), str.length()); - }); + } }
\ No newline at end of file |