<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><style>body { line-height: 1.5; }body { font-size: 10.5pt; font-family: 微软雅黑; color: rgb(0, 0, 0); line-height: 1.5; }body { font-size: 10.5pt; font-family: 微软雅黑; color: rgb(0, 0, 0); line-height: 1.5; }</style></head><body><div><div>On Tue, Jan 23, 2018 at 9:48 AM, <span class="mail_info_expanded_sender" style="color: rgb(65, 70, 78); word-break: break-word; font-family: 微软雅黑, Tahoma; font-size: 13px; line-height: 25px; background-color: rgb(241, 246, 245);">Gedare Bloom</span><span style="color: rgb(127, 127, 127); font-family: 微软雅黑, Tahoma; font-size: 13px; line-height: 25px; background-color: rgb(241, 246, 245);"><gedare@rtems.org></span></div><div><<span class="mail_info_expanded_sender" style="color: rgb(65, 70, 78); word-break: break-word; font-family: 微软雅黑, Tahoma; font-size: 13px; line-height: 25px; background-color: rgb(241, 246, 245);">Gedare Bloom</span><span style="color: rgb(127, 127, 127); font-family: 微软雅黑, Tahoma; font-size: 13px; line-height: 25px; background-color: rgb(241, 246, 245);"><gedare@rtems.org></span>> wrote:</div></div><div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>Your code needs to configure the kernel required resources as needed</div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>by your application. In this case, the shell is using a pthread key,</div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>so it should be configuring an extra POSIX_KEY. The mentioned approach</div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>can fix the problem because it simply configures all objects without</div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>limits. A better solution is to understand how many of each kind of</div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>kernel object your application needs and to configure exactly that, so</div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>as to reduce the resource overhead. Note, though, that the unified</div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>work area means the C program heap and the kernel objects reside in</div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>the same memory, so that there is no set-aside for kernel space, so</div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>the configure unlimited is less problematic in this situation. But,</div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>you could have an allocation failure eventually.</div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span> </div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>For more details you may read</div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>https://docs.rtems.org/branches/master/c-user/configuring_a_system.html</div></div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;"><br></span></div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">think you very much </span></div><div>yes ,i add the POSIX_KEY resource </div><div><span style="color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0);">#define CONFIGURE_MAXIMUM_POSIX_KEYS<span style="white-space: pre;">      </span>1</span></div><div><br></div><div>and remove the </div><div><div>#define CONFIGURE_UNLIMITED_OBJECTS</div><div>#define CONFIGURE_UNIFIED_WORK_AREAS</div></div><div><br></div><div>the shell  works . </div><div><br></div><div>yes ,i have read the chapter of the c-user configure. </div><div>another question: what is the posix key? i did not find any description in the posix user document.</div><div>and i also did not find any useful information on the google</div><div><br></div><div>best wishes </div><div>ben</div><div><br></div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;"><br></span></div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;"><br></span></div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;"><br></span></div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;"><br></span></div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>Hello Ben,</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span> </div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>On Tue, Jan 23, 2018 at 3:13 AM, bin.wang@qkmtech.com</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span><bin.wang@qkmtech.com> wrote:</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> hi everyone:</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>></div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> i use the shell , but i get the error print as follows:</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>></div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> "pthread_setspecific(shell_current_env_key)"</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>></div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> so i search this problem, and  find someone has asked this question before,</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> somebody replied as "add the two defines"</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>></div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> #define CONFIGURE_UNLIMITED_OBJECTS</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> #define CONFIGURE_UNIFIED_WORK_AREAS</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>></div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> this solve the problem as i come up with,but i do not know why?</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>></div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>Your code needs to configure the kernel required resources as needed</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>by your application. In this case, the shell is using a pthread key,</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>so it should be configuring an extra POSIX_KEY. The mentioned approach</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>can fix the problem because it simply configures all objects without</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>limits. A better solution is to understand how many of each kind of</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>kernel object your application needs and to configure exactly that, so</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>as to reduce the resource overhead. Note, though, that the unified</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>work area means the C program heap and the kernel objects reside in</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>the same memory, so that there is no set-aside for kernel space, so</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>the configure unlimited is less problematic in this situation. But,</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>you could have an allocation failure eventually.</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span> </div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>For more details you may read</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>https://docs.rtems.org/branches/master/c-user/configuring_a_system.html</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span> </div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>Gedare</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span> </div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> best</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> ben</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>></div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>></div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>></div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> ________________________________</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> bin.wang@qkmtech.com</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>></div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> _______________________________________________</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> users mailing list</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> users@rtems.org</div>
<div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">></span>> http://lists.rtems.org/mailman/listinfo/users</div>
<div> </div>
</body></html>