/* Mmapping.*/ #include #include #include #include #include #include #include #include #include "common.h" #define PATH "/home/s191944/lab5/mmap_file" int main( int argc, char* argv[] ) { struct inf_t *data; time_t start; int fd; start = time(NULL); massert((fd = open( PATH, O_RDWR| O_CREAT, 0 )) < 0, "open"); massert( ftruncate( fd, sizeof(struct inf_t)) < 0, "ftruncate"); data=(struct inf_t*)mmap(0,sizeof(struct inf_t),PROT_WRITE,MAP_SHARED,fd,0); if( data == MAP_FAILED ) { perror("mmap"); _exit(-1); } memset(data, 0, sizeof(struct inf_t)); set_id( data ); while( 1 ) { update_inf( data, start ); sleep(1); } return 0; }