Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2228 → Rev 2229

/trunk/uspace/tester/thread/thread1.c
33,6 → 33,7
#include <thread.h>
#include <stdio.h>
#include <unistd.h>
#include <futex.h>
#include "../tester.h"
 
static atomic_t finish;
39,13 → 40,18
static atomic_t threads_finished;
static bool sh_quiet;
 
static atomic_t srlz = FUTEX_INITIALIZER;
 
static void threadtest(void *data)
{
thread_detach(thread_get_id());
 
while (atomic_get(&finish)) {
if (!sh_quiet)
if (!sh_quiet) {
futex_down(&srlz);
printf("%llu ", thread_get_id());
futex_up(&srlz);
}
usleep(100000);
}
atomic_inc(&threads_finished);
68,8 → 74,11
total++;
}
if (!quiet)
if (!quiet) {
futex_down(&srlz);
printf("Running threads for 10 seconds...\n");
futex_up(&srlz);
}
sleep(10);
atomic_set(&finish, 0);
/trunk/uspace/tester/fault/fault1.c
33,5 → 33,5
{
((int *)(0))[1] = 0;
return "Written to NULL";
return "Survived write to NULL";
}
/trunk/uspace/tester/fault/fault2.c
36,5 → 36,5
var1 = *((int *) (((char *) (&var)) + 1));
return "Done unaligned read";
return "Survived unaligned read";
}
/trunk/uspace/libc/generic/io/vprintf.c
36,10 → 36,7
#include <stdio.h>
#include <unistd.h>
#include <io/printf_core.h>
#include <futex.h>
 
atomic_t printf_futex = FUTEX_INITIALIZER;
 
static int vprintf_write(const char *str, size_t count, void *unused)
{
return write(1, str, count);
54,9 → 51,7
{
struct printf_spec ps = {(int(*)(void *, size_t, void *)) vprintf_write, NULL};
futex_down(&printf_futex);
int ret = printf_core(fmt, &ps, ap);
futex_up(&printf_futex);
return ret;
}
/trunk/uspace/libc/generic/io/printf_core.c
40,6 → 40,7
#include <io/printf_core.h>
#include <ctype.h>
#include <string.h>
#include <async.h> /* for pseudo thread serialization */
 
#define __PRINTF_FLAG_PREFIX 0x00000001 /**< show prefixes 0x or 0*/
#define __PRINTF_FLAG_SIGNED 0x00000002 /**< signed / unsigned number */
443,6 → 444,9
int width, precision;
uint64_t flags;
/* Don't let other pseudo threads interfere. */
async_serialize_start();
counter = 0;
while ((c = fmt[i])) {
674,8 → 678,10
counter += retval;
}
async_serialize_end();
return counter;
minus_out:
async_serialize_end();
return -counter;
}
 
/trunk/uspace/libc/arch/sparc64/src/thread_entry.s
34,7 → 34,7
#
#
__thread_entry:
sethi %hi(_gp), %l7
sethi %hi(_gp), %l7
call __thread_main ! %o0 contains address of uarg
or %l7, %lo(_gp), %l7