getpwnam_error.c:
* The memory hole can be fixed with two different approaches
1) Change /etc/nsswitch.conf: passwd: compat to passwd: files
2) LD_PRELOAD=/lib/libnss_compat.so.2 valgrind ./getpwnam_error
GLIBC loads libnss_compat on the fly and unloads it.
Thanks to telexicon for reporting this...
committer: Markus Bröker <mbroeker@largo.homelinux.org>
/**
* test/demos/threads.c
* Copyright (C) 2008 Markus Broeker
*/
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <time.h>
void do_some_work (void)
{
time_t start_time = time (NULL);
while (time (NULL) == start_time); /* busy-wait for 0-1 seconds */
}
void *thread_func (void *vptr_args)
{
int i;
for (i = 0; i < 20; ++i) {
fprintf (stderr, " b\n");
do_some_work ();
}
return NULL;
}
int main (int argc, char **argv)
{
int i;
pthread_t thread;
pthread_create (&thread, NULL, &thread_func, NULL);
for (i = 0; i < 20; ++i) {
fprintf (stdout, "a\n");
do_some_work ();
}
pthread_join (thread, NULL);
return EXIT_SUCCESS;
}