<br><font size=2 face="sans-serif">Yes, i already stepped into the code...and
also guessed the same, but i didn't have time to put the post, sorry about
it. Now i do: </font>
<br><font size=2 face="sans-serif">This was the error but only in RTEMS,
not in Linux, so i am wondering if POSIX saids something about it. I mean,
whether POSIX saids specifically that this error should be raised if this
field is not set. Anyway both implementations Linux and RTEMS should behave
in the same way...either raising the error or not.</font>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>Joel Sherrill <joel.sherrill@oarcorp.com></b>
</font>
<br><font size=1 face="sans-serif">Sent by: rtems-users-bounces+aitor.viana.sanchez=esa.int@rtems.org</font>
<p><font size=1 face="sans-serif">14/06/2007 14:18</font>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td><font size=1 face="sans-serif">Aitor.Viana.Sanchez@esa.int</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td><font size=1 face="sans-serif">rtems-users-bounces+aitor.viana.sanchez=esa.int@rtems.org,
"rtems-users@rtems.com" <rtems-users@rtems.org></font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td><font size=1 face="sans-serif">Re: timer_create problem</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br><font size=2><tt>Aitor.Viana.Sanchez@esa.int wrote:<br>
><br>
> I just have changed the value of sigev.sigev_notify to SIGEV_SIGNAL<br>
> (just to verify) and I got the same error.<br>
><br>
At this point, I would have to recommend stepping into the<br>
function with and seeing which condition is not met.<br>
</tt></font>
<br><font size=2><tt>This is a good example of where a support contract
comes<br>
into play.  I could spent more time investigating your problem<br>
then.  My 2nd guess is:<br>
</tt></font>
<br><font size=2><tt>if ( !evp->sigev_signo )<br>
rtems_set_errno_and_return_minus_one( EINVAL );</tt></font>
<br>
<br><font size=2><tt>since I see a memset(0...) and no set of that field.<br>
</tt></font>
<br><font size=2><tt>--joel<br>
><br>
><br>
><br>
> rtems-users-bounces+aitor.viana.sanchez=esa.int@rtems.org wrote on<br>
> 13/06/2007 21:13:24:<br>
><br>
> > Aitor.Viana.Sanchez@esa.int wrote:<br>
> > ><br>
> > > Hi all,<br>
> > ><br>
> > > i am having a look to the CANFestival v3.0 trying to port
it to RTEMS.<br>
> > > I get the code already running over RTEMS but I have a problem
with<br>
> > > the timer_create POSIX function.<br>
> > ><br>
> > > The main.c source code gets inside the RTEMS configuration
which<br>
> > > includes:<br>
> > ><br>
> > > ...<br>
> > > #define CONFIGURE_MAXIMUM_TIMERS        
   10<br>
> > > ...<br>
> > ><br>
> > > /** RTEMS Configuration */<br>
> > > #define CONFIGURE_MAXIMUM_RTEMS_TIMERS CONFIGURE_MAXIMUM_TIMERS<br>
> > > ...<br>
> > ><br>
> > > /** POSIX Configuration */<br>
> > > #define CONFIGURE_MAXIMUM_POSIX_TIMERS<br>
>  CONFIGURE_MAXIMUM_TIMERS<br>
> > > ...<br>
> > ><br>
> > > When I try to create a timer calling the timer_create routine:<br>
> > >         ....<br>
> > ><br>
> > >         memset (&sigev, 0, sizeof
(struct sigevent));<br>
> > >         sigev.sigev_value.sival_int
= 0;<br>
> > >         sigev.sigev_notify = SIGEV_THREAD;<br>
> > >         sigev.sigev_notify_attributes
= NULL;<br>
> > >         sigev.sigev_notify_function
= timer_notify;<br>
> > ><br>
> > >         status = timer_create (CLOCK_REALTIME,
&sigev, &timer);<br>
> > >         if (status != 0)<br>
> > >                
           MSG_ERR(errno, strerror(errno),
status);<br>
> > ><br>
> > >         .....<br>
> > ><br>
> > > i got an error which is quite weird. I got the errno = 22
which is<br>
> > > "invalid argument", that means that the specified
clockid<br>
> > > (CLOCK_REALTIME) is not defined. Nevertheless, i tried to
call the<br>
> > > function clock_gettime, which also needs the clockid (CLOCK_REALTIME)<br>
> > > as a parameter, and i got no problem at all.<br>
> > ><br>
> > > I am using RTEMS 4.6.5.<br>
> > ><br>
> > > Do you have any idea that could help me to solve this problem
?<br>
> > ><br>
> > Looking in cpukit/posix/src/ptimer1.c, I see other reasons for
EINVAL:<br>
><br>
> > if (evp != NULL) {<br>
> > /* The structure has data */<br>
> > if ( ( evp->sigev_notify != SIGEV_NONE ) &&<br>
> > ( evp->sigev_notify != SIGEV_SIGNAL ) ) {<br>
> > /* The value of the field sigev_notify is not valid */<br>
> > rtems_set_errno_and_return_minus_one( EINVAL );<br>
> > }<br>
><br>
> > if ( !evp->sigev_signo )<br>
> > rtems_set_errno_and_return_minus_one( EINVAL );<br>
> ><br>
> > if ( !is_valid_signo(evp->sigev_signo) )<br>
> > rtems_set_errno_and_return_minus_one( EINVAL );<br>
> > }<br>
><br>
> ><br>
> > It looks like SIGEV_THREAD is not currently supported.<br>
><br>
> > If you need it, I would be happy to give you an estimate on<br>
> > implementing it for you.<br>
><br>
> > Thanks.<br>
><br>
> > --joel<br>
> > > Cheers<br>
> > ><br>
> > ><br>
> > ><br>
> > > -----------------------------<br>
> > > Aitor Viana Sánchez<br>
> > ><br>
> > > ESA - European Space Technology Centre (ESTEC)<br>
> > > TEC-EDD - Data Handling and Computing Section<br>
> > > ESA/ESTEC P.O. Box 299 / 2200AG Noordwijk ZH, The Netherlands<br>
> > > Tel (+31) 71 565 6727<br>
> > > Email: aitor.viana.sanchez@esa.int<br>
> > ><br>
> ------------------------------------------------------------------------<br>
> > ><br>
> > > _______________________________________________<br>
> > > rtems-users mailing list<br>
> > > rtems-users@rtems.com<br>
> > > http://rtems.rtems.org/mailman/listinfo/rtems-users<br>
> > ><br>
><br>
> > _______________________________________________<br>
> > rtems-users mailing list<br>
> > rtems-users@rtems.com<br>
> > http://rtems.rtems.org/mailman/listinfo/rtems-users<br>
</tt></font>
<br><font size=2><tt>_______________________________________________<br>
rtems-users mailing list<br>
rtems-users@rtems.com<br>
http://rtems.rtems.org/mailman/listinfo/rtems-users</tt></font>
<br>