The branch main has been updated by kib:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=25cecc4ba284096376b1348a807c0e2704d1b746

commit 25cecc4ba284096376b1348a807c0e2704d1b746
Author:     Konstantin Belousov <[email protected]>
AuthorDate: 2025-08-19 04:54:27 +0000
Commit:     Konstantin Belousov <[email protected]>
CommitDate: 2025-10-18 05:12:36 +0000

    kern/kern_event.c: extract kqueue_acquire_ref() from kqueue_acquire()
    
    Reviewed by:    markj
    Tested by:      pho
    Sponsored by:   The FreeBSD Foundation
    MFC after:      2 weeks
    Differential revision:  https://reviews.freebsd.org/D52045
---
 sys/kern/kern_event.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c
index 5435f9702d06..80c289f7d802 100644
--- a/sys/kern/kern_event.c
+++ b/sys/kern/kern_event.c
@@ -1871,17 +1871,8 @@ done:
 }
 
 static int
-kqueue_acquire(struct file *fp, struct kqueue **kqp)
+kqueue_acquire_ref(struct kqueue *kq)
 {
-       int error;
-       struct kqueue *kq;
-
-       error = 0;
-
-       kq = fp->f_data;
-       if (fp->f_type != DTYPE_KQUEUE || kq == NULL)
-               return (EINVAL);
-       *kqp = kq;
        KQ_LOCK(kq);
        if ((kq->kq_state & KQ_CLOSING) == KQ_CLOSING) {
                KQ_UNLOCK(kq);
@@ -1889,8 +1880,22 @@ kqueue_acquire(struct file *fp, struct kqueue **kqp)
        }
        kq->kq_refcnt++;
        KQ_UNLOCK(kq);
+       return (0);
+}
 
-       return error;
+static int
+kqueue_acquire(struct file *fp, struct kqueue **kqp)
+{
+       struct kqueue *kq;
+       int error;
+
+       kq = fp->f_data;
+       if (fp->f_type != DTYPE_KQUEUE || kq == NULL)
+               return (EINVAL);
+       error = kqueue_acquire_ref(kq);
+       if (error == 0)
+               *kqp = kq;
+       return (error);
 }
 
 static void

Reply via email to