On Tue, Jan 23, 2018 at 9:48 AM, Gedare Bloom<ged...@rtems.org> <Gedare Bloom<ged...@rtems.org>> wrote: >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
think you very much yes ,i add the POSIX_KEY resource #define CONFIGURE_MAXIMUM_POSIX_KEYS 1 and remove the #define CONFIGURE_UNLIMITED_OBJECTS #define CONFIGURE_UNIFIED_WORK_AREAS the shell works . yes ,i have read the chapter of the c-user configure. another question: what is the posix key? i did not find any description in the posix user document. and i also did not find any useful information on the google best wishes ben >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