Gilles Chanteperdrix wrote:
> Jan Kiszka wrote:
>> Gilles Chanteperdrix wrote:
>>> Steve wrote:
>>>> First, thank you for the help on my previous query.
>>>>
>>>> I am still working on porting a c++ application from RTAI to Xenomai,
>>>> and have encountered a problem with sockets, specifically the select
>>>> function.
>>>>
>>>> When Xenomai is not being used the code runs as expected.  Once the
>>>> Xenomai headers, compile options, etc, are used the select function
>>>> fails with the error EFAULT.  I have reproduced the error (works
>>>> without Xenomai, EFAULTs with Xenomai) using the following program:
>>>>
>>>> #include <stdio.h>
>>>> #include <arpa/inet.h>
>>>> #include <errno.h>
>>>>
>>>> int handleError(char *msg, int err);
>>>>
>>>> int main(void)
>>>> {
>>>>    int sfd;
>>>>    struct sockaddr_in sai;
>>>>    fd_set SockSet;
>>>>    struct timeval tv;
>>>>    tv.tv_sec = 2;
>>>>    tv.tv_usec = 0;
>>>>
>>>>    sai.sin_family = AF_INET;
>>>>    sai.sin_port = htons(1025);
>>>>    sai.sin_addr.s_addr = htonl(INADDR_ANY);
>>>>
>>>>    if((sfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
>>>>    { return handleError("creation error", errno); }
>>>>
>>>>    if(bind(sfd, (struct sockaddr*)&sai, sizeof(sai)) == -1)
>>>>    { return handleError("bind error", errno); }
>>>>
>>>>    if(listen(sfd, 5) == -1)
>>>>    { return handleError("listen error", errno); }
>>>>
>>>>    FD_ZERO(&SockSet);
>>>>    FD_SET(sfd, &SockSet);
>>>>
>>>>    if(select(sfd+1, &SockSet, 0, 0, &tv) == -1)
>>>>    { return handleError("select error", errno); }
>>>>
>>>>    printf("success\n");
>>>>
>>>>    return 0;
>>>> }
>>>>
>>>> I am using Xenomai 2.4.6.1 on a vanilla 2.6.24.6 Linux kernel, and
>>>> running on Ubuntu 8.04.
>>> Could you try 2.4.7, to see if you are not having a bug which has
>>> already been fixed?
>>>
>>> What you are trying should work, even though you are not really using
>>> Xenomai's select but Linux plain select.
>> This should have been fixed in 2.4.x.git - if my patch were applied. See
>> git://git.xenomai.org/xenomai-jki.git for-2.4.x
>>
>> Did I missed to post some correction of that version, or what delays
>> this? Sorry, lost track of it.
> 
> Sorry, I do not see what patch you are refering to. Is it:
> http://git.xenomai.org/?p=xenomai-jki.git;a=commitdiff;h=86333965a4362f8439822ec9d22b0a84b5701141;hp=a219c4a71b381f4662df45bac5508c3ae64ab924
> 
> In this commit, I only see things which should return more -EFAULT. Or
> did I miss something?

I mean
http://git.xenomai.org/?p=xenomai-jki.git;a=commitdiff;h=8542b9dc56b9edd16dab69e930699bcee17fa6ac

That should be...
http://permalink.gmane.org/gmane.linux.real-time.xenomai.devel/6237

Jan

-- 
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to