на главную | войти | регистрация | DMCA | контакты | справка | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


моя полка | жанры | рекомендуем | рейтинг книг | рейтинг авторов | впечатления | новое | форум | сборники | читалки | авторам | добавить



Листинг 12.4. Отображение в память в 4.4BSD

//shm/incr_map_anon.с

3  int

4  main(int argc, char **argv)

5  {

6   int i, nloop;

7   int *ptr;

8   sem_t *mutex;

9   if (argc != 2)

10   err_quit("usage: incr_map_anon <#loops>");

11  nloop = atoi(argv[1]);

12  /* отображение в память */

13  ptr = Mmap(NULL, sizeof(int), PROT_READ | PROT_WRITE,

14   MAP_SHARED | MAP_ANON, –1, 0);

6-11 Автоматические переменные fd и zero больше не используются, как и аргумент командной строки, задававший имя создаваемого файла.

12-14 Файл больше не нужно открывать. Вместо этого указывается флаг MAP_ANON при вызове mmap, а пятый аргумент этой функции (дескриптор) принимает значение –1.


12.4. Неименованное отображение в память в 4.4BSD | UNIX: взаимодействие процессов | 12.5. Отображение в память в SVR4 с помощью /dev/zero