diff options
author | Mark Wielaard <mjw@redhat.com> | 2013-12-17 10:37:29 +0100 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2013-12-17 10:37:29 +0100 |
commit | c76b2ff3eebc04c628ea7475c7ea0abb6cf0ff0d (patch) | |
tree | d625280c743da316d4b925aa9ce6137aa46c9e99 | |
parent | 14c2d9e614cb0e3fd50ad757eaba686b37699580 (diff) | |
download | elfutils-c76b2ff3eebc04c628ea7475c7ea0abb6cf0ff0d.tar.gz |
libdwfl: linux-pid-attach.c (pid_next_thread): Use rewinddir on first call.
dwfl_getthreads would otherwise fail to report any threads after it was
called once.
Reported-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
-rw-r--r-- | libdwfl/ChangeLog | 5 | ||||
-rw-r--r-- | libdwfl/linux-pid-attach.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index 67f1fcff..76538e64 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -1,3 +1,8 @@ +2013-12-17 Mark Wielaard <mjw@redhat.com> + + * linux-pid-attach.c (pid_next_thread): Call rewinddir on first + traversal. + 2013-12-16 Mark Wielaard <mjw@redhat.com> * libdwfl.h (dwfl_module_getsymtab_first_global): New function diff --git a/libdwfl/linux-pid-attach.c b/libdwfl/linux-pid-attach.c index 45a0732d..3d0716ab 100644 --- a/libdwfl/linux-pid-attach.c +++ b/libdwfl/linux-pid-attach.c @@ -164,6 +164,9 @@ pid_next_thread (Dwfl *dwfl __attribute__ ((unused)), void *dwfl_arg, { struct pid_arg *pid_arg = dwfl_arg; struct dirent *dirent; + /* Start fresh on first traversal. */ + if (*thread_argp == NULL) + rewinddir (pid_arg->dir); do { errno = 0; |