ladybird/AK
Ali Mohammad Pur 398435277b RequestServer: Use an OwnPtr for cached connections
Otherwise we'd end up trying to delete the wrong connection if a
connection made before us is deleted.
Fixes _some_ RequestServer spins (though not all...).
This commit also adds a small debug mechanism to RequestServer (which
can be enabled by turning REQUEST_SERVER_DEBUG on), that can dump all
the current active connections in the cache, what they're doing, and how
long they've been doing that by sending it a SIGINFO.
2021-09-29 11:47:18 +02:00
..
AllOf.h AK: Reimplement all_of in terms of find_if 2021-07-24 13:11:13 +04:30
AnyOf.h AK: Implement any_of using common implementation 2021-08-06 23:57:48 +02:00
Array.h AK: Stop publishing detail namespaced functions 2021-08-15 15:14:19 +02:00
Assertions.h AK+Kernel: Print TODO when a TODO() is executed 2021-08-04 11:01:16 +02:00
Atomic.h AK: Add free function to wrap around __atomic_is_lock_free built-in 2021-07-14 22:13:15 +01:00
Badge.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Base64.cpp Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
Base64.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BinaryBufferWriter.h AK: Add helper type for serializing structures into buffer 2021-07-18 19:58:17 +04:30
BinaryHeap.h AK+Userland: Use idan.horowitz@serenityos.org for my copyright headers 2021-04-22 22:42:38 +02:00
BinarySearch.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BitCast.h AK: Use __builtin_bit_cast if available 2021-08-21 13:48:59 +04:30
Bitmap.h AK: Sprinkle [[nodiscard]] on AK::Bitmap 2021-07-21 18:09:01 +02:00
BitmapView.h Bitmap: De-duplicate bitmasks 2021-05-19 23:37:10 +01:00
BitStream.h AK: Add big endian bit reading to InputBitStream 2021-06-25 20:48:14 +04:30
Buffered.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BumpAllocator.h AK: Give BumpAllocator a single-block cache 2021-09-13 14:38:53 +04:30
ByteBuffer.h Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
ByteReader.h AK: Generalize ByteReader 2021-07-14 11:26:34 +04:30
CharacterTypes.h AK: Add the to_ascii_base36_digit helper method 2021-06-29 16:55:54 +01:00
Checked.h AK: Make TypeBoundsChecker<UnsignedIntegralT, FloatingPointT> work 2021-07-22 21:19:40 +01:00
CheckedFormatString.h Everywhere: Make use of container version of all_of 2021-08-03 10:46:43 +02:00
CircularDeque.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CircularDuplexStream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CircularQueue.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
CMakeLists.txt Meta: Add support for declaring components 2021-06-17 11:03:51 +02:00
Complex.h Everywhere: Use AK/Math.h if applicable 2021-07-19 16:34:21 +04:30
Concepts.h AK: Add a concept for iterable containers 2021-07-22 22:56:20 +02:00
DateTimeLexer.h AK: Add a DateTimeLexer 2021-07-12 19:05:17 +01:00
Debug.h.in RequestServer: Use an OwnPtr for cached connections 2021-09-29 11:47:18 +02:00
Demangle.h AK: Remove unused ifdef for BUILDING_SERENITY_TOOLCHAIN 2021-09-20 00:39:46 +00:00
DisjointChunks.h AK: Add an abstraction over multiple disjoint buffers 2021-09-14 21:33:15 +04:30
DistinctNumeric.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
DoublyLinkedList.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Endian.h AK: Add formatters for BigEndian and LittleEndian 2021-08-02 00:25:11 +02:00
EnumBits.h AK+Kernel: Implement and use EnumBits has_any_flag() 2021-07-16 11:49:50 +02:00
ExtraMathConstants.h Userland: Move non-standard math constants from math.h 2021-04-27 23:06:16 +02:00
FileStream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Find.h AK: Rewrite {AnyOf,AllOf,Find}.h to use the IteratorPairWith concept 2021-07-22 22:56:20 +02:00
FixedArray.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
FixedPoint.h AK: Add FixedPoint arithmetic helper 2021-08-31 17:03:55 +04:30
FlyString.cpp Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
FlyString.h AK: Add a way to disable the trimming of whitespace in to_*int 2021-06-18 19:18:15 +01:00
Format.cpp Kernel: Add kernelearlyputstr and use it in dbgln in very-early boot 2021-09-10 22:58:08 +03:00
Format.h Everywhere: Pass AK::Format TypeErasedFormatParams by reference 2021-08-30 15:50:00 +04:30
Forward.h AK: Add GenericLexer to forwarding header 2021-08-19 23:49:25 +02:00
Function.h AK+Kernel: Fix perfect forwarding constructors shadowing others 2021-07-08 10:11:00 +02:00
GenericLexer.cpp AK: Add GenericLexer API to consume an escaped Unicode code point 2021-08-19 23:49:25 +02:00
GenericLexer.h AK: Add GenericLexer API to consume an escaped Unicode code point 2021-08-19 23:49:25 +02:00
HashFunctions.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
HashMap.h AK+LibC: Remove SERENITY_LIBC_BUILD guard around <initializer_list> 2021-09-20 00:39:46 +00:00
HashTable.h AK: Mark HashTable::size_in_bytes() as constexpr 2021-09-10 14:33:53 +00:00
Hex.cpp Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
Hex.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
IDAllocator.h AK: Use get_random() in IDAllocator 2021-08-30 18:35:36 +02:00
IntrusiveDetails.h AK: Make IntrusiveRedBlackTree capable of holding non-raw pointers 2021-09-08 19:17:07 +03:00
IntrusiveList.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
IntrusiveListRelaxedConst.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
IntrusiveRedBlackTree.h AK+Kernel: Reduce the number of template parameters of IntrusiveRBTree 2021-09-10 18:05:46 +03:00
IPv4Address.h AK: Implement IPv4Address::to_string_reversed() 2021-06-09 17:43:32 +04:30
IterationDecision.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Iterator.h AK: Make Vector capable of holding reference types 2021-06-08 19:14:24 +02:00
JsonArray.h AK: Use [[nodiscard]] in JsonObject and JsonArray 2021-06-29 13:18:03 +02:00
JsonArraySerializer.h AK: Make Json{Array,Object}Serializer ignore append() return values 2021-09-06 18:56:51 +02:00
JsonObject.h AK: Use [[nodiscard]] in JsonObject and JsonArray 2021-06-29 13:18:03 +02:00
JsonObjectSerializer.h AK: Make Json{Array,Object}Serializer ignore append() return values 2021-09-06 18:56:51 +02:00
JsonParser.cpp AK: Reduce the scope of fraction_string to where it's needed 2021-09-16 17:17:13 +02:00
JsonParser.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
JsonPath.cpp Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
JsonPath.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
JsonValue.cpp Kernel+AK: Don't compile JSON parser into the kernel 2021-06-29 22:19:29 +02:00
JsonValue.h AK: Add a getter to JsonValue to get machine-native addresses 2021-07-22 08:57:01 +02:00
kmalloc.cpp AK: Declare operators new and delete as global functions 2021-07-05 20:23:42 +02:00
kmalloc.h AK: Add operator delete stub to all AK_MAKE_ETERNAL objects 2021-08-30 16:44:16 +02:00
kstdio.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LEB128.h AK: Don't perform the shift when it's too large when decoding LEB128 2021-08-31 16:37:49 +02:00
LexicalPath.cpp AK+Everywhere: Remove StringView::find_{first,last}_of(char) methods 2021-07-02 21:54:21 +02:00
LexicalPath.h AK: Accept StringView in LexicalPath::join 2021-09-28 18:06:06 +03:00
MACAddress.h Everywhere: Make use of container version of all_of 2021-08-03 10:46:43 +02:00
MappedFile.cpp AK: Use east const in MappedFile 2021-08-07 12:48:22 +02:00
MappedFile.h AK: Use east const in MappedFile 2021-08-07 12:48:22 +02:00
Math.h AK: Handle partial remainders 2021-08-08 10:55:36 +02:00
MemMem.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Memory.h AK: Add secure_zero() implementation so it can be used on all platforms 2021-09-13 00:02:42 +02:00
MemoryStream.h Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
NeverDestroyed.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Noncopyable.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NonnullOwnPtr.h AK: Make traits for NonnullOwnPtr use ptr_hash instead of int_hash 2021-09-13 14:38:53 +04:30
NonnullOwnPtrVector.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NonnullPtrVector.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
NonnullRefPtr.h Everywhere: Prevent risky implicit casts of (Nonnull)RefPtr 2021-09-03 23:20:23 +02:00
NonnullRefPtrVector.h AK: Make NonnullRefPtrVector constructible from Vector<NonnullRefPtr> 2021-06-11 00:30:09 +02:00
NumberFormat.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
NumericLimits.h AK/NumericLimits: Add lowest() for floating-point types 2021-05-22 13:38:34 +01:00
Optional.h AK: Add note about an internal compile error with Optional in GCC 10.3+ 2021-09-08 00:37:19 +02:00
OSError.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
OwnPtr.h AK+Kernel: Move KResult.h to Kernel/API for userspace access 2021-09-05 12:54:48 +02:00
Platform.h Kernel: Introduce basic pre-kernel environment 2021-07-18 17:31:13 +02:00
PrintfImplementation.h AK: Honor variable precision argument when formatting 2021-05-30 18:45:06 +01:00
Ptr32.h AK: Fix building Ptr32 on x86_64 2021-06-24 09:27:13 +02:00
Queue.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
QuickSort.h AK: Guarantee a maximum stack depth for dual_pivot_quick_sort 2021-04-28 21:38:48 +02:00
Random.cpp AK: Introduce get_random_uniform() 2021-05-14 22:24:02 +02:00
Random.h AK+LibCore: Standardize on AK_OS_MACOS instead of __APPLE__ 2021-09-12 18:31:10 +02:00
RecursionDecision.h AK: Add RecursionDecision 2021-08-07 15:21:58 +02:00
RedBlackTree.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
RefCounted.h AK: Pull RefCountedBase into the global namespace 2021-08-15 12:44:35 +02:00
RefPtr.h AK+Kernel: Move KResult.h to Kernel/API for userspace access 2021-09-05 12:54:48 +02:00
Result.h AK: Let Result<T, E> know its Value and Error types 2021-05-08 22:14:39 +02:00
ScopedValueRollback.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ScopeGuard.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ScopeLogger.h AK: Store the 'extra' field of ScopeLogger as String 2021-06-29 00:07:19 +04:30
SIMD.h AK: Add char SIMD types 2021-07-22 23:33:21 +02:00
Singleton.h AK: Bring Singleton into the global namespace with using 2021-08-08 00:03:45 +02:00
SinglyLinkedList.h AK: Make SinglyLinkedList::remove() public 2021-08-31 17:03:55 +04:30
SinglyLinkedListWithCount.h Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
SourceGenerator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SourceLocation.h AK+Userland: Use akaster@serenityos.org for my copyright headers 2021-05-30 14:35:34 +01:00
Span.h AK: Make Span::operator==() comply with the ISO C++ idea of operator== 2021-09-13 14:38:53 +04:30
Stack.h AK: Implement AK::Stack 2021-05-26 16:36:53 +04:30
StackInfo.cpp AK+LibCore: Standardize on AK_OS_MACOS instead of __APPLE__ 2021-09-12 18:31:10 +02:00
StackInfo.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Statistics.h AK: Add Statistics helper 2021-08-31 16:38:22 +02:00
StdLibExtraDetails.h AK: Add AssertSize utility template to provide rich type size assertions 2021-09-05 20:08:57 +02:00
StdLibExtras.h AK: Make declaration of std::move and std::forward optional 2021-09-04 16:32:54 +02:00
Stream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
String.cpp AK: Escape '"' in escape_html_entities 2021-09-12 12:17:16 +02:00
String.h AK: Replace the mutable String::replace API with an immutable version 2021-09-11 20:36:43 +03:00
StringBuilder.cpp AK+Kernel: Avoid unescaped control chars in append_escaped_for_json() 2021-09-13 14:38:53 +04:30
StringBuilder.h Everywhere: Use OOM-safe ByteBuffer APIs where possible 2021-09-06 01:53:26 +02:00
StringHash.h AK: Make StringView::hash() constexpr 2021-05-14 15:24:32 +02:00
StringImpl.cpp AK: Use kfree_sized() in AK::StringImpl 2021-07-11 14:14:51 +02:00
StringImpl.h AK: Use kfree_sized() in AK::StringImpl 2021-07-11 14:14:51 +02:00
StringUtils.cpp AK: Eliminate avoidable strlen call in String::matches 2021-09-28 00:31:45 +02:00
StringUtils.h AK: Replace the mutable String::replace API with an immutable version 2021-09-11 20:36:43 +03:00
StringView.cpp AK: Replace the mutable String::replace API with an immutable version 2021-09-11 20:36:43 +03:00
StringView.h AK: Replace the mutable String::replace API with an immutable version 2021-09-11 20:36:43 +03:00
TemporaryChange.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Time.cpp AK: Remove dead store from Time:operator+ 2021-09-01 01:22:14 +02:00
Time.h LibCore: Make DateTime's members signed 2021-08-19 19:15:00 +01:00
Traits.h AK: Add Traits for Enums 2021-08-27 23:35:27 +04:30
Trie.h AK: Add children() accessor to Trie 2021-06-08 12:15:04 +02:00
Try.h AK: Rename the local variable in the TRY() macro to avoid name clashes 2021-09-15 23:46:53 +01:00
Tuple.h AK: Correct Tuple's constructor signatures 2021-08-02 17:22:50 +04:30
TypeCasts.h AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
TypedTransfer.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TypeList.h Everywhere: "indexes" => "indices" 2021-04-29 22:23:52 +02:00
Types.h AK: Make explode_byte depend on sizeof(FlatPtr) instead of ARCH(...) 2021-08-26 22:00:17 +02:00
UBSanitizer.h LibSanitizer+AK: Add float cast overflow handler 2021-08-08 10:55:36 +02:00
UFixedBigInt.h AK: Fix UFixedBigInt not building with Clang 2021-07-08 10:11:00 +02:00
UnicodeUtils.cpp AK: Add UnicodeUtils with Unicode-related helper functions 2021-05-20 22:10:45 +02:00
UnicodeUtils.h AK: Add UnicodeUtils with Unicode-related helper functions 2021-05-20 22:10:45 +02:00
URL.cpp AK: Make URL::m_port an Optional<u16>, Expose raw port getter 2021-09-14 00:14:45 +02:00
URL.h AK: Move the path argument of URL::append_path instead of copying it 2021-09-14 00:14:45 +02:00
URLParser.cpp AK: Make URL::m_port an Optional<u16>, Expose raw port getter 2021-09-14 00:14:45 +02:00
URLParser.h AK: Accept optional url and state override parameters in URLParser 2021-09-14 00:14:45 +02:00
Userspace.h AK: Make C++ concepts support mandatory for compilers 2021-06-24 17:35:49 +04:30
Utf8View.cpp AK: Inline all the trivial Utf8View functions 2021-09-18 19:54:24 +02:00
Utf8View.h AK: Inline all the trivial Utf8View functions 2021-09-18 19:54:24 +02:00
Utf16View.cpp AK+LibJS: Implement String.from{CharCode,CodePoint} using UTF-16 strings 2021-08-04 11:18:24 +02:00
Utf16View.h AK: Add a formatter overload for Utf16View 2021-08-10 23:07:50 +02:00
Utf32View.h AK: Add the at()/operator[]() getter to Utf32View 2021-07-18 21:10:55 +04:30
UUID.cpp AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
UUID.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
Variant.h AK: Introduce ability to default-initialize a Variant 2021-09-21 04:22:52 +04:30
Vector.h AK: Remove unnecessary include of <new> for non-__serenity__ builds 2021-09-20 00:39:46 +00:00
Weakable.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
WeakPtr.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00