> The best you can hope for is to determine processes that are actually
> using the socket, and that can vary during the socket's lifetime. You
> would have to scour the file descriptor tables in all process
> structures to determine which processes had a handle on each socket you
> have an interest in.
I found that too your solution is the only way. But i have a problem with that.
The proc structure has a variable:
struct vnode *p_tracep;
This is a pointer to the vnode list, so this is good for me, if i can walk through
the opened vnode list for a process. But how can i find out which process
opened that vnode and how can i walk through the opened vnode list (for one
specified process)?
As i see the vnode struct has multiple variables with vnode pointer type:
struct vnode {
...
TAILQ_ENTRY(vnode) v_freelist; /* vnode freelist */
TAILQ_ENTRY(vnode) v_nmntvnodes; /* vnodes for mount point */
LIST_ENTRY(vnode) v_synclist; /* vnodes with dirty buffers */
...
struct vnode *v_dd; /* .. vnode */
...
};
Which way is good for me if i would like to walk through the list (so which is a
pointer to the next vnode item)?
Thanks,
Tibor Kiss
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"