[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[MiNT] nanosleep
Hi all,
I am trying to use a unit that has nanosleep in it.
I see that there is a version in mintlib
How can I add this to my make to avoid this error ?
msleep.o:obj.040/msleep.o:(.text+0x54): undefined reference to `_nanosleep'
Regards,
Peter
#include <unistd.h>
#ifdef _POSIX_VERSION
# if _POSIX_VERSION >= 199309L
# define USE_NANOSLEEP
# endif
#endif
#ifdef USE_NANOSLEEP
# include <time.h>
#else
# include "iopause.h"
#endif
#include "msleep.h"
#define M 1000000
void
msleep(unsigned long x)
{
#ifdef USE_NANOSLEEP
unsigned long long n;
struct timespec t1;
n=M*x;
t1.tv_sec=n/(1000*M);
t1.tv_nsec=n%(1000*M);
nanosleep(&t1,0);
#else
struct taia now,then;
taia_now(&now);
/* x is in 1/1000 seconds */
taia_uint(&then,x/1000); /* seconds */
then.nano=(x%1000)*M; /* 1/1000 seconds */
then.atto=0;
taia_add(&then,&now,&then);
iopause(0,0,&then,&now);
#endif
}