* [Xenomai-help] Re: [Socketcan-users] Select on a RTCAN socket
[not found] <DD39B5C3F4963040ADC9768BE7E430CB01081D6B@is-hdq-exchange.marel.net>
@ 2006-08-23 17:07 ` Wolfgang Grandegger
2006-08-23 17:21 ` Jan Kiszka
0 siblings, 1 reply; 4+ messages in thread
From: Wolfgang Grandegger @ 2006-08-23 17:07 UTC (permalink / raw)
To: Daniel Schnell; +Cc: Haukur Hafsteinsson, xenomai-help, socketcan-users
Hi Daniel,
Daniel Schnell wrote:
> Hi,
>
>
>
> I wanted to use select() on a socket to find out how many messages are
> available. I have opened this socket to access the RTCAN sockets under
> Xenomai. According to /usr/xenomai/lib/posix.wrappers select is not
> “supported” by the realtime kernel. Accordingly it doesn’t work. If i
> start the according task under SCHED_FIFO, the task simply hangs when
> initiating select(), in SCHED_OTHER it is simply returning: bad file
> descriptor.
select is not supported and cannot be used, indeed.
> Any ideas ? Is there any other way to find out, how many messages are
> waiting ?
Select returns the sockets which have data but it does not tell you how
many messages are waiting. You could use separate threads to read from
sockets.
BTW: this mail is off-topic on the socketcan MLs.
Wolfgang.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Xenomai-help] Re: [Socketcan-users] Select on a RTCAN socket
2006-08-23 17:07 ` [Xenomai-help] Re: [Socketcan-users] Select on a RTCAN socket Wolfgang Grandegger
@ 2006-08-23 17:21 ` Jan Kiszka
2006-08-23 17:59 ` Wolfgang Grandegger
0 siblings, 1 reply; 4+ messages in thread
From: Jan Kiszka @ 2006-08-23 17:21 UTC (permalink / raw)
To: Wolfgang Grandegger
Cc: Haukur Hafsteinsson, xenomai-help, socketcan-users,
Daniel Schnell
[-- Attachment #1: Type: text/plain, Size: 1240 bytes --]
Hi all,
Wolfgang Grandegger wrote:
> Hi Daniel,
>
> Daniel Schnell wrote:
>> Hi,
>>
>>
>>
>> I wanted to use select() on a socket to find out how many messages are
>> available. I have opened this socket to access the RTCAN sockets under
>> Xenomai. According to /usr/xenomai/lib/posix.wrappers select is not
>> "supported" by the realtime kernel. Accordingly it doesn't work. If i
>> start the according task under SCHED_FIFO, the task simply hangs when
>> initiating select(), in SCHED_OTHER it is simply returning: bad file
>> descriptor.
>
> select is not supported and cannot be used, indeed.
And select is tricky to provide under hard-RT constraints.
>
>> Any ideas ? Is there any other way to find out, how many messages are
>> waiting ?
>
> Select returns the sockets which have data but it does not tell you how
> many messages are waiting. You could use separate threads to read from
> sockets.
>
> BTW: this mail is off-topic on the socketcan MLs.
Mmh, do you mean it the other way around?
Anyway, is there a mechanism of the standard socket API the obtain the
current incoming queue length? Don't think so actually, but it wouldn't
be the first time I'm blind.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Xenomai-help] Re: [Socketcan-users] Select on a RTCAN socket
2006-08-23 17:21 ` Jan Kiszka
@ 2006-08-23 17:59 ` Wolfgang Grandegger
2006-08-23 18:19 ` Wolfgang Grandegger
0 siblings, 1 reply; 4+ messages in thread
From: Wolfgang Grandegger @ 2006-08-23 17:59 UTC (permalink / raw)
To: Jan Kiszka
Cc: Haukur Hafsteinsson, xenomai-help, socketcan-users,
Daniel Schnell
Jan Kiszka wrote:
> Hi all,
>
> Wolfgang Grandegger wrote:
>> Hi Daniel,
>>
>> Daniel Schnell wrote:
>>> Hi,
>>>
>>>
>>>
>>> I wanted to use select() on a socket to find out how many messages are
>>> available. I have opened this socket to access the RTCAN sockets under
>>> Xenomai. According to /usr/xenomai/lib/posix.wrappers select is not
>>> "supported" by the realtime kernel. Accordingly it doesn't work. If i
>>> start the according task under SCHED_FIFO, the task simply hangs when
>>> initiating select(), in SCHED_OTHER it is simply returning: bad file
>>> descriptor.
>> select is not supported and cannot be used, indeed.
>
> And select is tricky to provide under hard-RT constraints.
>
>>> Any ideas ? Is there any other way to find out, how many messages are
>>> waiting ?
>> Select returns the sockets which have data but it does not tell you how
>> many messages are waiting. You could use separate threads to read from
>> sockets.
>>
>> BTW: this mail is off-topic on the socketcan MLs.
>
> Mmh, do you mean it the other way around?
Well, I think this is a RTDM/Xenomai related questions and sending it to
xenomai-help is OK. CAN related questions should go to the
socketcan-users maling-list. Am I wrong?
> Anyway, is there a mechanism of the standard socket API the obtain the
> current incoming queue length? Don't think so actually, but it wouldn't
> be the first time I'm blind.
Not that I know of. For normal file I/O I remember vague some ioctl() or
fnctl(). Does POSIX define a function for this purpose?
Wolfgang.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Xenomai-help] Re: [Socketcan-users] Select on a RTCAN socket
2006-08-23 17:59 ` Wolfgang Grandegger
@ 2006-08-23 18:19 ` Wolfgang Grandegger
0 siblings, 0 replies; 4+ messages in thread
From: Wolfgang Grandegger @ 2006-08-23 18:19 UTC (permalink / raw)
To: xenomai-help
Cc: Haukur Hafsteinsson, socketcan-users, Jan Kiszka, Daniel Schnell
Wolfgang Grandegger wrote:
> Jan Kiszka wrote:
>> Hi all,
>>
>> Wolfgang Grandegger wrote:
>>> Hi Daniel,
>>>
>>> Daniel Schnell wrote:
>>>> Hi,
>>>>
>>>>
>>>>
>>>> I wanted to use select() on a socket to find out how many messages are
>>>> available. I have opened this socket to access the RTCAN sockets under
>>>> Xenomai. According to /usr/xenomai/lib/posix.wrappers select is not
>>>> "supported" by the realtime kernel. Accordingly it doesn't work. If i
>>>> start the according task under SCHED_FIFO, the task simply hangs when
>>>> initiating select(), in SCHED_OTHER it is simply returning: bad file
>>>> descriptor.
>>> select is not supported and cannot be used, indeed.
>> And select is tricky to provide under hard-RT constraints.
>>
>>>> Any ideas ? Is there any other way to find out, how many messages are
>>>> waiting ?
>>> Select returns the sockets which have data but it does not tell you how
>>> many messages are waiting. You could use separate threads to read from
>>> sockets.
>>>
>>> BTW: this mail is off-topic on the socketcan MLs.
>> Mmh, do you mean it the other way around?
>
> Well, I think this is a RTDM/Xenomai related questions and sending it to
> xenomai-help is OK. CAN related questions should go to the
> socketcan-users maling-list. Am I wrong?
>
>> Anyway, is there a mechanism of the standard socket API the obtain the
>> current incoming queue length? Don't think so actually, but it wouldn't
>> be the first time I'm blind.
>
> Not that I know of. For normal file I/O I remember vague some ioctl() or
> fnctl(). Does POSIX define a function for this purpose?
Got it! In Linux it can be done with ioctl FIONREAD, which returns the
number of bytes that are immediately available to be read on a file
descriptor. It could be implemented, if useful.
Wolfgang.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-08-23 18:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <DD39B5C3F4963040ADC9768BE7E430CB01081D6B@is-hdq-exchange.marel.net>
2006-08-23 17:07 ` [Xenomai-help] Re: [Socketcan-users] Select on a RTCAN socket Wolfgang Grandegger
2006-08-23 17:21 ` Jan Kiszka
2006-08-23 17:59 ` Wolfgang Grandegger
2006-08-23 18:19 ` Wolfgang Grandegger
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.