
|
[openbeosnetteam]
||
[Date Prev]
[04-2002 Date Index]
[Date Next]
||
[Thread Prev]
[04-2002 Thread Index]
[Thread Next]
[openbeosnetteam] Re: Now it seems this thing works! :)
- From: "Bruno G. Albuquerque" <bga@xxxxxxxxxxxxx>
- To: openbeosnetteam@xxxxxxxxxxxxx
- Date: Wed, 03 Apr 2002 11:47:54 EST (-0300)
> > I *REALLY* think select() should be provided in a separate library.
>
> Me too, it should be in libroot.so.
> Problem is, until we can use newos as kernel, we're with BeOS kernel.
> I mean, BeOS kernelS:
Not exactly. We can just create a libselect.so and link any programs
that want to use our select() call to it. Adn we can do it now (no need
to wait for NewOS.
> - BeOS kernel <= R5.0.3 don't export a select() call to userland,
> the only public select() is Be's libnet.so but it works only with
> net_server's sockets. We can't use this one.
And we don't need to. Note that our net stack will replace the
net_server one so this select() won't even exist anymore.
> So, to add real select() support to OBOS pre-R1 using BeOS <= R5.0.3
> kernels, we'll need to move the select() call
> currently in net_kit/source/libnet/libnet.c to the OBOS equivalent of
> libroot.so. Problem is
> there's no OBOS libroot.so for BeOS kernel!
As I said, it does not have to be libroot.
> Well, yes, there is (Be release the libroot.so source code),
> but nobody care to add to the OBOS repository (yet?).
> I guess building OBOS libroot.so will start with
> OBOS NewOS kernel move... not before.
We don`t have to worry about that right now.
> - BeOS kernel > R5.0.3 (aka BONE & Co): the select() is already
> there,
> in it's libroot.so, and works well.
BONE would also be replaced by our implementation. I guess we just need
a way to make it possible to link a program against libroot.so and our
libselect.so without conflicts. Is it possible at all? Can we check
inside the library if libroot (or any other library for that matter)
exports the symbol and do not export ours? This way we would use the
BONE kernel select() when present.
> In fact, the link stage of test app may even find select() in
> libroot.so
> *before* our own libnet.so one's...
Dunno. How can I know? Well... According to David, our version is
broken. :)
> So, for R5.0.3- systems, we offer a better libnet.so with better
> select()
> support, but nothing more. As no non-BONE apps could use
> select() on file descriptor, I don't see a big problem here ;-)
But it will be possible now, thanks to OpenBFS. We must make things
easier for everyone else.
> And for R5.0.4+ systems, we'll use the kernel/libroot.so select()
> call.
Yes. But see above.
> So, maybe we should inclose the select() call support in libnet.so
> between a #if BEOS_KERNEL_VERSION < 0x0504 ... #endif
That would help. But what do we do with binary distributions? Some
users won't like having to compile stuff. Maybe provide a BONE and non-
BONE version?
> > This test uses 100% of my CPU (PIII 800). Is this expected?
>
> Yes. A 90% idle CPU is waste ;-)
Yeah, right. :P
> > In a few words... David, you *ROCK*.
>
> Could I join you Bruno on this sentence?
> :-)
Be my guest. :)
While we are at that, wouldn`t you happen to know how to fix our
select()?
-Bruno
--
Fortune Cookie Says:
Two can Live as Cheaply as One for Half as Long.
-- Howard Kandel
|

|