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.
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