Remove POSIX non-compliant API pthread_getattr_np
PATCH 1/1 Remove POSIX non-compliant API pthread_getattr_np
The pthread_getattr_np is not a POSIX compliant API, it's unnecessary to test it.
--- .../interfaces/pthread_attr_setstacksize/2-1.c | 17 ++++------------- 1 files changed, 4 insertions(+), 13 deletions(-)
testcases/open_posix_testsuite/conformance/interfaces/pthread_attr_setstacksize/2-1.c +4 -13
@@ -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 );
Signature · 18 lines
1.7.0.4 -- Regards Bian Naimeng ------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
Sorry to make a noise, please ignore this patch.
However, maybe PTS_UNRESOLVED is better if "ssize != stacksize" at the child thread.
Quoted 54 lines · Bian Naimeng
The
pthread_getattr_npis 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(-)testcases/open_posix_testsuite/conformance/interfaces/pthread_attr_setstacksize/2-1.c +4
-13@@ -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 );
Signature · 14 lines
Regards Bian Naimeng ------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
Quoted 53 lines · Bian Naimeng
Sorry to make a noise, please ignore this patch.
However, maybePTS_UNRESOLVEDis better if "ssize != stacksize" at the child thread.Quoted 49 lines · Bian Naimeng
The
pthread_getattr_npis 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(-)testcases/open_posix_testsuite/conformance/interfaces/pthread_attr_setstacksize/2-1.c +3
-12@@ -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); }
Quoted 5 lines
testcases/open_posix_testsuite/conformance/interfaces/pthread_attr_setstacksize/2-1.c int main() · line 103
Quoted 5 lines
testcases/open_posix_testsuite/conformance/interfaces/pthread_attr_setstacksize/2-1.c +1
-1- 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