[openbeosnetteam] Re: One small step for net team, but... but one small step forward?

  • From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
  • To: openbeosnetteam@xxxxxxxxxxxxx
  • Date: Wed, 13 Nov 2002 18:49:24 +0100 CET

Philippe Houdoin <philippe.houdoin@xxxxxxx> wrote:
> Okay, here what I add in both ping.c and traceroute.c, right after 
> including sys/select.h:
> 
> #define howmany(x, y) _howmany(x, y)
> 
> Maybe I should directly use _howmany() instead.

Well, in these cases it doesn't matter much, but I think _howmany() 
would be better.

> BTW, it make me think that my R5 select() for socket support is buggy 
> if the caller use a differently sized fd_set than the one used at 
> libnet.so build time. I should fix that some day. I guess I can *steal*
 some 
> stuff from your kernel select() implementation 
> (storing the max set size, etc) no?

If I implemented it correctly, it doesn't depend on FD_SIZE at all, it 
just takes the number of descriptors and use this to create the 
internal array.
But I don't think this is important to fix for the R5 implementation - 
I guess this is a *very* rarely used feature, and documenting the bug 
for R5 should be enough.

> > >   I start to remove as much as possible of userland-specific code 
> > >   as the userland net_server provide all modules API support from 
> > >   userland too, modules no need anymore to load by themselves 
> > >   sub-modules.
> > How is that done?
> Well, the so-called "stack debug platform", aka net_server export 
> the modules API (get_module(), put_module(), open_module_list() & 
> co).

Ah, okay, I just misread you then; they are using get_module() to load 
modules, they don't use load_addon() or anything like this anymore.

> Network modules link against kernel find this modules API in 
> _KERNEL_, 
> and will find same in net_server as soon I manage to build them
> as userland add-ons.

Although I think it would be possible to build them once as kernel 
modules, having to care for set_sem_owner(sem, B_SYSTEM_TEAM) would be 
a hack, I think :-)
There are probably other issues as well.

> I really don't want to duplicate code of each network module 
> in another place in the CVS tree simply to be able to build it 
> as userland add-on instead of kernel add-on.

It should build correctly if you make the sources depending on the link 
creation. I am not a jam expert myself, but I guess Ingo can give you 
some better advise on how to solve it :-)

Good luck and thanks for all your effort! :-)

Adios...
   Axel.



Other related posts: