cvs commit: src/sys/netgraph netgraph.h ng_base.c ng_socket.c
ng_socketvar.h
Maksim Yevmenkin
maksim.yevmenkin at gmail.com
Tue Jul 5 17:54:21 GMT 2005
Gleb,
in your opinion, is this likely to affect other parts of netgraph?
(i.e. netgraph atm, netgraph bluetooth).
thanks,
max
On 7/5/05, Gleb Smirnoff <glebius at freebsd.org> wrote:
> glebius 2005-07-05 17:35:20 UTC
>
> FreeBSD src repository
>
> Modified files:
> sys/netgraph netgraph.h ng_base.c ng_socket.c
> ng_socketvar.h
> Log:
> In the splnet times, netgraph was functional and synchronous. Nowadays,
> an item may be queued and processed later. While this is OK for mbufs,
> this is a problem for control messages.
>
> In the framework:
> - Add optional callback function pointer to an item. When item gets
> applied the callback is executed from ng_apply_item().
> - Add new flag NG_PROGRESS. If this flag is supplied, then return
> EINPROGRESS instead of 0 in case if item failed to deliver
> synchronously and was queued.
> - Honor NG_PROGRESS in ng_snd_item().
>
> In ng_socket:
> - When userland sends control message add callback to the item.
> - If ng_snd_item() returns EINPROGRESS, then sleep.
>
> This change fixes possible races in ngctl(8) scripts.
>
> Reviewed by: julian
> Approved by: re (scottl)
>
> Revision Changes Path
> 1.55 +8 -0 src/sys/netgraph/netgraph.h
> 1.102 +28 -2 src/sys/netgraph/ng_base.c
> 1.67 +44 -1 src/sys/netgraph/ng_socket.c
> 1.10 +2 -0 src/sys/netgraph/ng_socketvar.h
>
More information about the cvs-src
mailing list