2008年8月8日星期五

sem_timedwait() 简单用法

sem_timedwait() 简单用法
/////////////////////////////////////////////////////////
int sem_timedwait(sem_t *restrict sem,
//
const struct timespec *restrict abs_timeout);
// // /////////////////////////////////////////////////////
#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <semaphore.h>
#include <sys>
#include <fcntl.h>
#include <time.h>
int main() {
sem_t mysemp;
struct timespec ts;
int sts, val;
if ( sem_init (&mysemp, 0, 0) == -1 ) {
perror("sem_init is err");
return P-1;
}
ts.tv_sec=time(NULL)+1; // 重点
ts.tv_nsec=0;
/* Try to lock Semaphore */
sts = sem_timedwait(&mysemp, &ts);

....

sem_destroy(&mysemp);}

没有评论: