|
@@ -198,15 +198,20 @@ ProcFS::~ProcFS()
|
|
|
|
|
|
Optional<KBuffer> procfs$pid_fds(InodeIdentifier identifier)
|
|
|
{
|
|
|
+ KBufferBuilder builder;
|
|
|
+ JsonArraySerializer array { builder };
|
|
|
+
|
|
|
auto handle = ProcessInspectionHandle::from_pid(to_pid(identifier));
|
|
|
- if (!handle)
|
|
|
- return {};
|
|
|
+ if (!handle) {
|
|
|
+ array.finish();
|
|
|
+ return builder.build();
|
|
|
+ }
|
|
|
auto& process = handle->process();
|
|
|
- if (process.number_of_open_file_descriptors() == 0)
|
|
|
- return {};
|
|
|
+ if (process.number_of_open_file_descriptors() == 0) {
|
|
|
+ array.finish();
|
|
|
+ return builder.build();
|
|
|
+ }
|
|
|
|
|
|
- KBufferBuilder builder;
|
|
|
- JsonArraySerializer array { builder };
|
|
|
for (int i = 0; i < process.max_open_file_descriptors(); ++i) {
|
|
|
auto* description = process.file_description(i);
|
|
|
if (!description)
|