⛏️ index : haiku.git

author Jérôme Duval <jerome.duval@gmail.com> 2025-11-13 21:02:28.0 +01:00:00
committer Jérôme Duval <jerome.duval@gmail.com> 2025-11-15 22:30:45.0 +00:00:00
commit
431d197b7e790abe149fd55d7cec449430449997 [patch]
tree
ccb88f17004c672feb72821ecf378c993e15f0b4
parent
8dcdf257f9105946e97969a72132072e35fa576c
download
431d197b7e790abe149fd55d7cec449430449997.tar.gz

kernel/fd: add inc_fd_open_count

Change-Id: I28a1b99a020cefb626dddca78cb7b7913cd1286c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9864
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>

Diff

 headers/private/kernel/fs/fd.h | 1 +
 src/system/kernel/fs/fd.cpp    | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/headers/private/kernel/fs/fd.h b/headers/private/kernel/fs/fd.h
index ae20a5f..adc6812 100644
--- a/headers/private/kernel/fs/fd.h
+++ b/headers/private/kernel/fs/fd.h
@@ -84,6 +84,7 @@
extern void put_fd(struct file_descriptor *descriptor);
extern void disconnect_fd(struct file_descriptor *descriptor);
extern void inc_fd_ref_count(struct file_descriptor *descriptor);
extern void inc_fd_open_count(struct file_descriptor *descriptor);
extern int dup_foreign_fd(team_id fromTeam, int fd, bool kernel);
extern status_t select_fd(int32 fd, struct select_info *info, bool kernel);
extern status_t deselect_fd(int32 fd, struct select_info *info, bool kernel);
diff --git a/src/system/kernel/fs/fd.cpp b/src/system/kernel/fs/fd.cpp
index 6590b4e..92c1b2b 100644
--- a/src/system/kernel/fs/fd.cpp
+++ b/src/system/kernel/fs/fd.cpp
@@ -272,6 +272,13 @@
}


void
inc_fd_open_count(struct file_descriptor* descriptor)
{
	atomic_add(&descriptor->open_count, 1);
}


static struct file_descriptor*
get_fd_locked(const struct io_context* context, int fd)
{