Johan Cockx wrote:
>
>
> On Tue, Oct 12, 2010 at 12:32 PM, Gilles Chanteperdrix
> <[email protected]
> <mailto:[email protected]>> wrote:
>
> Johan Cockx wrote:
> >
> >
> > On Tue, Oct 12, 2010 at 12:05 PM, Gilles Chanteperdrix
> > <[email protected]
> <mailto:[email protected]>
> > <mailto:[email protected]
> <mailto:[email protected]>>> wrote:
> >
> > Johan Cockx wrote:
> > >
> > >
> > > On Mon, Oct 11, 2010 at 4:07 PM, Gilles Chanteperdrix
> > > <[email protected]
> <mailto:[email protected]>
> > <mailto:[email protected]
> <mailto:[email protected]>>
> > > <mailto:[email protected]
> <mailto:[email protected]>
> > <mailto:[email protected]
> <mailto:[email protected]>>>> wrote:
> > >
> > > Johan Cockx wrote:
> > > > A printf in src/skins/posix/select.c confirms that
> __wrap_select
> > > is called.
> > >
> > > Ok, but there are many branches here, could you check
> whether
> > it emits
> > > the syscall, and if yes, what is the result of this syscall?
> > >
> > >
> > > First, it executes:
> > > err = XENOMAI_SKINCALL5(__pse51_muxid, __pse51_select,
> __nfds,
> > > __readfds, __writefds, __exceptfds, __timeout);
> > > (which expands to assembly code; is this the syscall you are
> > referring to?)
> > >
> > > This returns err == -9 ( == -EBADF), so it continues to call
> > > __real_select (which as far as I understand it calls the plain
> > > non-xenomai select) which returns 0 (timeout).
> > >
> > > EBADF suggests that there is something wrong with the file
> descriptor,
> > > but I have no clue what. The code that creates this file
> > descriptor was
> > > attached to my previous mail (recv.c).
> >
> > It means that one of the file descriptors you pass to select
> is not a
> > Xenomai file descriptor.
> >
> >
> > Ok, but the one file descriptor that I am passing in was created
> with a
> > socket() call, and since I am using the posix skin, I assume it
> should
> > be a Xenomai file descriptor. Is there any way that the socket() call
> > (using the posix skin) could return a non-Xenomai file descriptor?
>
> Yes, if it ends up calling __real_socket instead of socket. You can
> instrument the __wrap_socket code, the same way you did with
> __wrap_select, to see what happens.
>
>
> Ok: __real_socket is not called, the XENOMAI_SKINCALL3(...) code
> returns zero in this case.
Ok. zero should be translated in something like 1024 - 128. And the
reverse operation happen in select code.
--
Gilles.
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
Spend less time writing and rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
RTnet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rtnet-users