Little fixup around pthreads
Marc CHALAND
l4 at marc-chaland.net
Mon Aug 22 10:23:35 CEST 2011
Hi,
After some testing, I saw my patch is not complete. Here is the
complete version which works :).
Regards
Marc
diff --git a/src/l4/pkg/uclibc/lib/libpthread/src/restart.h
b/src/l4/pkg/uclibc/lib/libpthread/src/restart
index 26ae5ea..e4bc11b 100644
--- a/src/l4/pkg/uclibc/lib/libpthread/src/restart.h
+++ b/src/l4/pkg/uclibc/lib/libpthread/src/restart.h
@@ -37,7 +37,7 @@ static __inline__ int timedsuspend(pthread_descr self,
{
#if 1
extern uint64_t __attribute__((weak)) __libc_l4_kclock_offset;
- uint64_t clock = abstime->tv_sec * 1000000 + abstime->tv_nsec / 1000;
+ uint64_t clock = ((uint64_t) abstime->tv_sec) * 1000000 +
((uint64_t) abstime->tv_nsec) / 1000;
if (&__libc_l4_kclock_offset)
clock -= __libc_l4_kclock_offset;
l4_msgtag_t res = l4_usem_down_to(self->p_thsem_cap, &self->p_thsem,
@@ -69,7 +69,7 @@ static __inline__ int timedsuspend(pthread_descr self,
{
#if 1
extern uint64_t __attribute__((weak)) __libc_l4_kclock_offset;
- uint64_t clock = abstime->tv_sec * 1000000 + abstime->tv_nsec / 1000;
+ uint64_t clock = ((uint64_t) abstime->tv_sec) * 1000000 +
((uint64_t) abstime->tv_nsec) / 1000;
if (&__libc_l4_kclock_offset)
clock -= __libc_l4_kclock_offset;
l4_timeout_t timeout = L4_IPC_NEVER;
More information about the l4-hackers
mailing list