summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.base
diff options
context:
space:
mode:
authorDavid Smith <dsmith@redhat.com>2008-06-11 11:16:07 -0500
committerDavid Smith <dsmith@redhat.com>2008-06-11 11:19:26 -0500
commit0562c0e77429fd6798f8a1d46ef597527e7a392f (patch)
tree10a8e6863743fe672fbfdce608324300d20ebd47 /testsuite/systemtap.base
parent1461de23ee84384940626145f07b0a736a2d8bb3 (diff)
downloadsystemtap-steved-0562c0e77429fd6798f8a1d46ef597527e7a392f.tar.gz
systemtap-steved-0562c0e77429fd6798f8a1d46ef597527e7a392f.tar.xz
systemtap-steved-0562c0e77429fd6798f8a1d46ef597527e7a392f.zip
utrace thread.begin and thread.end probe test fixes.
2008-06-11 David Smith <dsmith@redhat.com> * systemtap.base/utrace_p5.exp: Made changes to work when not configured in the src directory. * systemtap.base/utrace_p5_multi.c: Made changes to work on x86_64 systems.
Diffstat (limited to 'testsuite/systemtap.base')
-rw-r--r--testsuite/systemtap.base/utrace_p5.exp2
-rw-r--r--testsuite/systemtap.base/utrace_p5_multi.c14
2 files changed, 11 insertions, 5 deletions
diff --git a/testsuite/systemtap.base/utrace_p5.exp b/testsuite/systemtap.base/utrace_p5.exp
index 1185f015..fcd617fe 100644
--- a/testsuite/systemtap.base/utrace_p5.exp
+++ b/testsuite/systemtap.base/utrace_p5.exp
@@ -3,7 +3,7 @@
# Initialize variables
set utrace_support_found 0
set exepath "[pwd]/cat_[pid]"
-set multi_srcpath "systemtap.base/utrace_p5_multi.c"
+set multi_srcpath "$srcdir/systemtap.base/utrace_p5_multi.c"
set multi_exepath "[pwd]/utrace_p5_multi_[pid]"
set multi_flags "libs=-lpthread"
diff --git a/testsuite/systemtap.base/utrace_p5_multi.c b/testsuite/systemtap.base/utrace_p5_multi.c
index 03c6eea0..153243d0 100644
--- a/testsuite/systemtap.base/utrace_p5_multi.c
+++ b/testsuite/systemtap.base/utrace_p5_multi.c
@@ -7,6 +7,10 @@
void *thread_function( void *ptr );
+struct thread_data {
+ int tnum;
+};
+
int
main()
{
@@ -14,8 +18,10 @@ main()
int iret1, iret2;
/* Create independent threads each of which will execute function */
- iret1 = pthread_create(&thread1, NULL, thread_function, (void*) 1);
- iret2 = pthread_create(&thread2, NULL, thread_function, (void*) 2);
+ struct thread_data t1 = { 1 };
+ struct thread_data t2 = { 2 };
+ iret1 = pthread_create(&thread1, NULL, thread_function, (void*) &t1);
+ iret2 = pthread_create(&thread2, NULL, thread_function, (void*) &t2);
/* Wait till threads are complete before main continues. Unless we
* wait we run the risk of executing an exit which will terminate
@@ -31,8 +37,8 @@ main()
void *thread_function(void *ptr)
{
- int tnum = (int)ptr;
- if (tnum == 1) {
+ struct thread_data *td = ptr;
+ if (td->tnum == 1) {
int fd = open("/dev/null", O_RDONLY);
close(fd);
}