diff --git a/C_Language/IPC_shm_posix.c b/C_Language/IPC_shm_posix.c new file mode 100644 index 0000000..102fd52 --- /dev/null +++ b/C_Language/IPC_shm_posix.c @@ -0,0 +1,44 @@ +#include +#include +#include +#include +#include +#include +#include + +int main( int argc, char **argv) +{ + int fd; + int * compteur; + + if(argc != 2) + { + fprintf(stderr, "Syntaxe : %s nom_segment\n", argv[0]); + exit(EXIT_FAILURE); + } + if((fd = shm_open(argv[1], O_RDWR | O_CREAT, 0600)) == -1) + { + perror(argv[1]); + exit(EXIT_FAILURE); + } + if(ftruncate(fd, sizeof(int)) != 0) + { + perror("ftruncate"); + exit(EXIT_FAILURE); + } + compteur = mmap(NULL, sizeof(int), PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + + if(compteur == MAP_FAILED) + { + perror("mmap"); + exit(EXIT_FAILURE); + } + while(1) + { + (* compteur)++; + fprintf(stdout, "compteur = %d\n", (* compteur)); + sleep(1); + } + return EXIT_SUCCESS; +} + diff --git a/C_Language/TP_SYS/Exemple_curses/a.out b/C_Language/TP_SYS/Exemple_curses/a.out deleted file mode 100755 index 8e8c115..0000000 Binary files a/C_Language/TP_SYS/Exemple_curses/a.out and /dev/null differ