Hello Ben,

On Tue, Jan 23, 2018 at 3:13 AM, bin.w...@qkmtech.com
<bin.w...@qkmtech.com> wrote:
> hi everyone:
>
> i use the shell , but i get the error print as follows:
>
> "pthread_setspecific(shell_current_env_key)"
>
> so i search this problem, and  find someone has asked this question before,
> somebody replied as "add the two defines"
>
> #define CONFIGURE_UNLIMITED_OBJECTS
> #define CONFIGURE_UNIFIED_WORK_AREAS
>
> this solve the problem as i come up with,but i do not know why?
>
Your code needs to configure the kernel required resources as needed
by your application. In this case, the shell is using a pthread key,
so it should be configuring an extra POSIX_KEY. The mentioned approach
can fix the problem because it simply configures all objects without
limits. A better solution is to understand how many of each kind of
kernel object your application needs and to configure exactly that, so
as to reduce the resource overhead. Note, though, that the unified
work area means the C program heap and the kernel objects reside in
the same memory, so that there is no set-aside for kernel space, so
the configure unlimited is less problematic in this situation. But,
you could have an allocation failure eventually.

For more details you may read
https://docs.rtems.org/branches/master/c-user/configuring_a_system.html

Gedare

> best
> ben
>
>
>
> ________________________________
> bin.w...@qkmtech.com
>
> _______________________________________________
> users mailing list
> users@rtems.org
> http://lists.rtems.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@rtems.org
http://lists.rtems.org/mailman/listinfo/users

Reply via email to