ИМЯ semget - считывает идентификатор набора семафоров System V
ОБЗОР #include <sys/types.h> #include <sys/ipc.h> #include <sys/sem.h>
int semget(key_t key, int nsems, int semflg);
ОПИСАНИЕ Системный вызов semget() возвращает идентификатор набора семафоров System V, связанный с аргументом key. Если значение key равно IPC_PRIVATE или с ключом key не связано ни одного существующего набора семафора, а в semflg задано IPC_CREAT, создаётся новый набор из nsems семафоров.
Если в semflg одновременно указаны IPC_CREAT и IPC_EXCL и набор семафоров для key уже существует, то semget() завершается с ошибкой и errno присваивается значение EEXIST (такой же результат как с O_CREAT | O_EXCL у open(2)).
При создании в 9 начальных битах аргумента semflg указываются права (владел
...
Читать дальше »
|
ИМЯ semctl - операции управления семафорами System V
ОБЗОР #include <sys/types.h> #include <sys/ipc.h> #include <sys/sem.h>
int semctl(int semid, int semnum, int cmd, ...);
ОПИСАНИЕ Вызов semctl выполняет операцию, определённую в cmd, над набором семафоров System V, указанном в semid, или над семафором с номером semnum из этого набора (семафоры нумеруются, начиная с 0).
Данный вызов имеет три или четыре аргумента, в зависимости от значения cmd. Если аргументов четыре, то четвертый аргумент arg имеет тип union semun. В вызывающей программе это объединение должно быть определено следующим образом:
union semun { int val; /* значение для SETVAL */ struct semid_ds *buf; /* буфер для IPC_STAT, IPC_SET */ unsigned short *array; /* массив для GETALL, SETALL */ st
...
Читать дальше »
|
ИМЯ select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - многопоточный синхронный ввод-вывод
ОБЗОР /* в соответствии с POSIX.1-2001, POSIX.1-2008 */ #include <sys/select.h>
/* в соответствии с ранними стандартами */ #include <sys/time.h> #include <sys/types.h> #include <unistd.h>
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *utimeout);
void FD_CLR(int fd, fd_set *set); int FD_ISSET(int fd, fd_set *set); void FD_SET(int fd, fd_set *set); void FD_ZERO(fd_set *set);
#include <sys/select.h>
int pselect(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, const struct timespec *ntimeout, const sigset_t *sigmask);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
...
Читать дальше »
|
ИМЯ select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - многопоточный синхронный ввод-вывод
ОБЗОР /* в соответствии с POSIX.1-2001, POSIX.1-2008 */ #include <sys/select.h>
/* в соответствии с ранними стандартами */ #include <sys/time.h> #include <sys/types.h> #include <unistd.h>
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
void FD_CLR(int fd, fd_set *set); int FD_ISSET(int fd, fd_set *set); void FD_SET(int fd, fd_set *set); void FD_ZERO(fd_set *set);
#include <sys/select.h>
int pselect(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, const struct timespec *timeout, const sigset_t *sigmask);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
...
Читать дальше »
|
ИМЯ afs_syscall, break, fattach, fdetach, ftime, getmsg, getpmsg, gtty, isastream, lock, madvise1, mpx, prof, profil, putmsg, putpmsg, security, stty, tuxcall, ulimit, vserver - нереализованные системные вызовы
ОБЗОР Нереализованные системные вызовы.
ОПИСАНИЕ Данные системные вызовы не реализованы в ядре Linux.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ Эти системные вызовы всегда возвращают -1 и устанавливают для errno значение ENOSYS.
ЗАМЕЧАНИЯ Заметим, что ftime(3), profil(3) и ulimit(3) реализованы в виде библиотечных функций.
Некоторые системные вызовы, такие как alloc_hugepages(2), free_hugepages(2), ioperm(2), iopl(2) и vm86(2), существуют только для некоторых архитектур.
Некоторые системны
...
Читать дальше »
|
ИМЯ seccomp - переводит процесс в состояние безопасных вычислений
ОБЗОР #include <linux/seccomp.h> #include <linux/filter.h> #include <linux/audit.h> #include <linux/signal.h> #include <sys/ptrace.h>
int seccomp(unsigned int operation, unsigned int flags, void *args);
ОПИСАНИЕ Системный вызов seccomp() переводит вызвавший процесс в состояние безопасных вычислений (Secure Computing, seccomp).
В настоящее время в Linux поддерживаются следующие значения operation:
SECCOMP_SET_MODE_STRICT Вызвавшей нити доступны только системные вызовы read(2), write(2), _exit(2) (но не exit_group(2)) и sigreturn(2). При запуске других системных вызовов генерируется сигнал SIGKILL. Строгий режим безопасных вычислений полезен для вычи
...
Читать дальше »
|
ИМЯ sched_yield - освободить процессор
ОБЗОР #include <sched.h>
int sched_yield(void);
ОПИСАНИЕ Вызов sched_yield() заставляет вызывающую нить освободить процессор. Нить перемещается в конец очереди согласно её статическому приоритету, и управление передаётся другой нити.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ При успешном выполнении sched_yield() возвращается 0. При ошибке возвращается -1, а значение errno устанавливается соответствующим образом.
ОШИБКИ В Linux-реализации sched_yield() всегда завершается успешно.
СООТВЕТСТВИЕ СТАНДАРТАМ POSIX.1-2001, POSIX.1-2008.
ЗАМЕЧАНИЯ Если вызывающая нить единственная в списке с самым высоким приоритетом, то она продолжит выполняться после вызов
...
Читать дальше »
| « 1 2 ... 11 12 13 14 15 ... 59 60 » |