POSIX Shared Memory

Yeah. This SHM-Stuff is leet:

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
#include <stdio.h>
#include <errno.h>
int main (void) {
  int fd = open ("/dev/shm/thisshit2299", O_RDWR | O_CREAT, 0xFFFFFF);
  perror("open");
  ftruncate(fd, 20);
  char *spam = mmap ((void*)0, 20, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
  perror("open");
  spam[19]=0;
  scanf("%s\n", spam);
}

and

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
#include <stdio.h>
#include <errno.h>
int main (void) {
  int fd = open ("/dev/shm/thisshit2299", O_RDWR | O_CREAT, 0xFFFFFF);
  perror("open");
  ftruncate(fd, 20);
  char *spam = mmap ((void*)0, 20, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
  perror("open");

    while (1) {
    spam[19]='';
    printf("%s\n-------\n", spam);
    }

    munmap(spam, 20);
}

Works ;-)
And dont wonder about the filenames…

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: