On Tue, Nov 2, 2010 at 1:00 AM, Bian Naimeng <[email protected]> wrote:
> Sorry to make a noise, please ignore this patch.
> However, maybe PTS_UNRESOLVED is better if "ssize != stacksize" at the child 
> thread.
>
> Bian Naimeng wrote:
>> The pthread_getattr_np is not a POSIX compliant API, it's unnecessary to 
>> test it.
>>
>> Signed-off-by: Bian Naimeng <[email protected]>
>>
>> ---
>>  .../interfaces/pthread_attr_setstacksize/2-1.c     |   17 ++++-------------
>>  1 files changed, 4 insertions(+), 13 deletions(-)
>>
>> diff --git 
>> a/testcases/open_posix_testsuite/conformance/interfaces/pthread_attr_setstacksize/2-1.c
>>  
>> b/testcases/open_posix_testsuite/conformance/interfaces/pthread_attr_setstacksize/2-1.c
>> index 668fd96..c91c946 100644
>> --- 
>> a/testcases/open_posix_testsuite/conformance/interfaces/pthread_attr_setstacksize/2-1.c
>> +++ 
>> b/testcases/open_posix_testsuite/conformance/interfaces/pthread_attr_setstacksize/2-1.c
>> @@ -14,7 +14,6 @@
>>   * 4.  In the created thread, read stacksize
>>   */
>>
>> -/* For pthread_getattr_np(3) -- not a POSIX compliant API */
>>  #ifndef _GNU_SOURCE
>>  #define _GNU_SOURCE
>>  #endif
>> @@ -35,21 +34,13 @@
>>  size_t stack_size;
>>  void *stack_addr;
>>
>> -void *thread_func()
>> +void *thread_func(void *arg)
>>  {
>> -     pthread_attr_t attr;
>> +     pthread_attr_t *pattr = (pthread_attr_t *)arg;
>>       size_t ssize;
>>       int rc;
>>
>> -     if ((rc = pthread_getattr_np(pthread_self(), &attr)) != 0) {
>> -             printf(ERROR_PREFIX "pthread_getattr_np: %s\n", strerror(rc));
>> -             exit(PTS_FAIL);
>> -     }
>> -     if ((rc = pthread_attr_init(&attr)) != 0) {
>> -             printf(ERROR_PREFIX "pthread_attr_init: %s\n", strerror(rc));
>> -             exit(PTS_FAIL);
>> -     }
>> -     if ((rc = pthread_attr_getstacksize(&attr, &ssize)) != 0) {
>> +     if ((rc = pthread_attr_getstacksize(pattr, &ssize)) != 0) {
>>               printf(ERROR_PREFIX "pthread_attr_getstacksize: %s\n",
>>                       strerror(rc));
>>               exit(PTS_FAIL);
>> @@ -106,7 +97,7 @@ int main()
>>                  exit(PTS_UNRESOLVED);
>>          }
>>
>> -     rc = pthread_create(&new_th, &attr, thread_func, NULL);
>> +     rc = pthread_create(&new_th, &attr, thread_func, &attr);
>>       if (rc != 0) {
>>                  printf(ERROR_PREFIX "pthread_create: %s\n", strerror(rc));
>>                  exit(PTS_FAIL);

Possibly, but the only problem with that is that there really needs to
be a means to sample the current thread stack size. That's what's
missing that needs to go into the POSIX spec.
-Garrett

------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a 
Billion" shares his insights and actions to help propel your 
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to