On Mar 13, 2009 at 15:22, Miklos Tirpak <[email protected]> wrote:
> Hi Andrei,
> 
> I recently saw in tcp_options.c:238, that tcp_wq_timeout variable is 
> directly written, which is not really supported by the cfg framework.

Yes, I know. I had something similar for tcp_connect_timeout (2 values
one in s and one in ticks), before I realised it woudn't work work with
set_delayed.


> 
> The handle to the cfg structure may be only a temporary handle allocated 
> for the shake of the fixup function, and the structure may be freed 
> after the fixup function exists. So the modifications done this way can 
> be lost. This is the case when more than one modifications are made with 
> cfg_set_delated, and tcp_wq_timeout is not the first modification in the 
> list. If tcp_wq_timeout is the first modification in the list, then the 
> shm variable is changed immediately without waiting for the commit 
> action, and the change cannot be reverted.
> 
> The preferred way is to rewrite the void** param of the fixup function, 
> and store only a single value in ticks, like in tm module.

Yes, I'll do it, but I got delayed with some core dumps (and
unfortunately wq_timeout/send_timeout is used in a number of places and
they must be very carefully checked before switching to ticks or s).

Thanks,
Andrei
_______________________________________________
Serdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/serdev

Reply via email to