Invalid rtems_id?
Joel Sherrill
joel.sherrill at OARcorp.com
Thu Mar 27 15:26:44 UTC 2008
Thomas Dörfler wrote:
> Joel,
>
> Joel Sherrill schrieb:
>
>> An invalid ID or an invalid ID check or both?
>>
>> I would lean to both.
>>
>>
> Yes, I think we need a value to initialize application variables, and we
> need a method to detect, whether a ID is valid. A typical use would be
> to check, whether a ID holding variable has yet been initialized, or the
> corresponding OS object has yet been created.
>
>> But I think that technically, I would say that an id with
>> 0xffff0000 is more reliably invalid. That would let us
>> max out the api, class, and node portions of the id
>> with an index of 0 which is never valid except in the
>> case of RTEMS_SELF which is 0x0.
>>
>>
> In that aspect, it is a bit of a shame that we can't use the value "0x0"
> as the "invalid ID". In many situations you can use uninitialied global
> variables and find out, whether they hold valid data. The C standard
> guarantees, that an uninitialized global pointer variable holds a NULL
> pointer, which is used as a "invalid" placeholder. If the same where
> true for RTEMS object IDs, things like the "task_id" arrays in the
> testsuite would hold invalid IDs by default (and not the "RTEMS_SELF"
> constant).
>
> So my proposal would be to define the invalid ID to be 0x0, and
> RTEMS_SELF as 0xffff0000 (0r 0xff00):
>
> #define RTEMS_INVALID_ID 0x0
> #define RTEMS_SELF 0xffff0000
>
> Any comments on that?
>
It is technically OK since everyone SHOULD use the
constant RTEMS_SELF. It will break code that hard
codes 0.
Sounds OK by me. Break code that isn't clean. :-D
> wkr,
> Thomas.
>
>
> --
> --------------------------------------------
> embedded brains GmbH
> Thomas Doerfler Obere Lagerstr. 30
> D-82178 Puchheim Germany
> Tel. : +49-89-18 90 80 79-2
> Fax : +49-89-18 90 80 79-9
> email: Thomas.Doerfler at embedded-brains.de
> PGP public key available on request
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>
>
--
Joel Sherrill, Ph.D. Director of Research & Development
joel.sherrill at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
More information about the users
mailing list