Just reporting what GCC tells me, and I don't see that it's wrong. It says that time_struct below is not initialized before use, and I sure don't see that it isn't.

I'd investigate further, but I'm off to bed...

xoxo,
Andy

Parrot_cx_schedule_sleep(PARROT_INTERP, FLOATVAL time, ARGIN_NULLOK(opcode_t *next))
{
#if PARROT_HAS_THREADS
#  ifdef _WIN32
    /* until we have a better implementation of threads on windows,
     * we'll use the non-threaded form of sleep */
    Parrot_cx_runloop_wake(interp, interp->scheduler);
    Parrot_sleep((UINTVAL) ceil(time));
#  else
    Parrot_cond condition;
    Parrot_mutex lock;
    FLOATVAL timer_end = time + Parrot_floatval_time();
    struct timespec *time_struct;

/* Tell the scheduler runloop to wake, this is a good time to process
     * pending tasks. */
    Parrot_cx_runloop_wake(interp, interp->scheduler);

    /* Tell this thread to sleep for the requested time. */
    COND_INIT(condition);
    MUTEX_INIT(lock);
    LOCK(lock);
    time_struct->tv_sec = (time_t) timer_end;  <<<<<< Uniniitalized
time_struct->tv_nsec = (long)((timer_end - time_struct- >tv_sec)*1000.0f) *1000L*1000L;



--
Andy Lester => [EMAIL PROTECTED] => www.petdance.com => AIM:petdance




Reply via email to