Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 May 2007 10:04:37 -0700
From:      Suleiman Souhlal <ssouhlal@FreeBSD.org>
To:        dmw@unete.cl
Cc:        freebsd-hackers@freebsd.org, John-Mark Gurney <gurney_j@resnet.uoregon.edu>
Subject:   Re: kqueue implementation
Message-ID:  <23B4A664-5916-47D3-8D42-282817F6CC70@FreeBSD.org>
In-Reply-To: <200705210948.36033.dmw@unete.cl>
References:  <200705201831.38828.dmw@unete.cl> <20070521075757.GG4602@funkthat.com> <200705210948.36033.dmw@unete.cl>

next in thread | previous in thread | raw e-mail | index | archive | help

On May 21, 2007, at 6:48 AM, Daniel Molina Wegener wrote:

> On Monday 21 May 2007 03:57:58 John-Mark Gurney wrote:
>> Daniel Molina Wegener wrote this message on Sun, May 20, 2007
> at 18:31 -0400:
>>>    I'm coding an application using the kqueue facility, but
>>> I see that I can't handle open and read events. Is planned
>>> to implement these handlings in the future?. Also, which
>>> facility can I use to handle these kind of events?
>>
>> I'm unsure what you mean by open and read events?  Do you
>> mean getting an event when another process opens are file?
>> or?  As for read, they work fine for sockets, as w/ select,
>> files are always ready to read even though they may block to
>> read from disk...
>
> Hello,
>
> I mean vnode events, in the manual page I see NOTE_WRITE, but I
> need NOTE_OPEN and NOTE_READ. Is there any chance to get these
> kind of events?

They should be easy to add.. All you would need to do for NOTE_OPEN  
would be to add a vop_open_post  hook to VOP_OPEN that calls  
VFS_KNOTE_LOCKED(..., NOTE_OPEN). Similarly for read.

Take a look at how, for example, NOTE_CREATE is implemented  
(vop_create_post in sys/kern/vfs_subr.c) and how we add VOP hooks  
(sys/kern/vnode_if.src).

Why do you need these?

-- Suleiman



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?23B4A664-5916-47D3-8D42-282817F6CC70>