burzio@mmlai.UUCP (Tony Burzio) (08/11/90)
The folowing program for millisecond sleep works under HP-UX SYSV, so
it should work on an ATT (serious finger crossing :-). Compile with:
cc -O timer.c -o timer
--------------------------------- cut here -----------------------------------
#include <signal.h>
#include <time.h>
void myhandler() {}
usleep(usec)
int usec;
{
int sigret;
struct itimerval rttimer;
struct itimerval old_rttimer;
struct sigaction *act, *oact ;
rttimer.it_value.tv_sec = ( (float) usec) / 1000000;
rttimer.it_value.tv_usec =
((float) usec) - ((float) rttimer.it_value.tv_sec * 1000000.0);
rttimer.it_interval.tv_sec = 0;
rttimer.it_interval.tv_usec = 0;
(void) signal(SIGALRM,(myhandler));
setitimer (ITIMER_REAL, &rttimer, &old_rttimer);
pause();
}
main ()
{
usleep(500000);
}
--------------------------- cut here --------------------------------------
*********************************************************************
Tony Burzio * OH! You have to turn it ON first!
Martin Marietta Labs *
mmlab!burzio@uunet.uu.net * - First day, DOS user.
*********************************************************************guy@auspex.auspex.com (Guy Harris) (08/12/90)
>The folowing program for millisecond sleep works under HP-UX SYSV, so >it should work on an ATT (serious finger crossing :-). Crossing the fingers is a good idea here. "Xxx works under HP-UX SYSV, therefore it should work on an [arbitrary] ATT [System V release]" isn't a valid deduction. While some systems, including HP-UX, have "setitimer()", which your program uses, vanilla AT&T System V releases prior to S5R4 don't have it.