#include <signal.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/select.h>
#include <unistd.h>
#include <sys/uio.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/socket.h>
#include <time.h>
#include <stdio.h>
#include <semaphore.h>
#include <stdarg.h>
Go to the source code of this file.
|
#define | SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, newfunc, func, decl, args, err_domain) |
|
#define | SI_EINTR_SAVE_FUNC(return_type, func, decl, args) SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, si_##func, func, decl, args, < 0) |
|
#define | SI_EINTR_SAVE_SCANF(return_type, func, decl, args) SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, si_##func, func, decl, args, == EOF) |
|
#define | SI_GET_FIFTH(_4, _3, _2, _1, N, ...) N |
|
#define | si_open(...) SI_GET_FIFTH(X,##__VA_ARGS__, si_open2, si_open1)(__VA_ARGS__) |
|
#define | si_siginterrupt(arg1, arg2) |
|
|
| SI_EINTR_SAVE_FUNC (int, select,(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout),(nfds, readfds, writefds, exceptfds, timeout)) SI_EINTR_SAVE_FUNC(pid_t |
|
int status | SI_EINTR_SAVE_FUNC (pid_t, waitpid,(pid_t pid, int *status, int options),(pid, status, options)) SI_EINTR_SAVE_FUNC(ssize_t |
|
int status int void size_t count | SI_EINTR_SAVE_FUNC (ssize_t, readv,(int fd, const struct iovec *iov, int iovcnt),(fd, iov, iovcnt)) SI_EINTR_SAVE_FUNC(ssize_t |
|
int status int void size_t count int const void size_t count | SI_EINTR_SAVE_FUNC (ssize_t, writev,(int fd, const struct iovec *iov, int iovcnt),(fd, iov, iovcnt)) SI_EINTR_SAVE_FUNC_TEMPLATE(int |
|
◆ SI_EINTR_SAVE_FUNC
#define SI_EINTR_SAVE_FUNC |
( |
|
return_type, |
|
|
|
func, |
|
|
|
decl, |
|
|
|
args |
|
) |
| SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, si_##func, func, decl, args, < 0) |
◆ SI_EINTR_SAVE_FUNC_TEMPLATE
#define SI_EINTR_SAVE_FUNC_TEMPLATE |
( |
|
return_type, |
|
|
|
newfunc, |
|
|
|
func, |
|
|
|
decl, |
|
|
|
args, |
|
|
|
err_domain |
|
) |
| |
Value:static inline return_type newfunc decl \
{ \
do \
{ \
}
while((
res err_domain) && (errno == EINTR));\
}
Definition at line 28 of file si_signals.h.
◆ SI_EINTR_SAVE_SCANF
#define SI_EINTR_SAVE_SCANF |
( |
|
return_type, |
|
|
|
func, |
|
|
|
decl, |
|
|
|
args |
|
) |
| SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, si_##func, func, decl, args, == EOF) |
◆ SI_GET_FIFTH
#define SI_GET_FIFTH |
( |
|
_4, |
|
|
|
_3, |
|
|
|
_2, |
|
|
|
_1, |
|
|
|
N, |
|
|
|
... |
|
) |
| N |
◆ si_open
◆ si_siginterrupt
#define si_siginterrupt |
( |
|
arg1, |
|
|
|
arg2 |
|
) |
| |
◆ SI_EINTR_SAVE_FUNC() [1/4]
SI_EINTR_SAVE_FUNC |
( |
int |
, |
|
|
select |
, |
|
|
(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout) |
, |
|
|
(nfds, readfds, writefds, exceptfds, timeout) |
|
|
) |
| |
◆ SI_EINTR_SAVE_FUNC() [2/4]
int status SI_EINTR_SAVE_FUNC |
( |
pid_t |
, |
|
|
waitpid |
, |
|
|
(pid_t pid, int *status, int options) |
, |
|
|
(pid, status, options) |
|
|
) |
| |
◆ SI_EINTR_SAVE_FUNC() [3/4]
int status int void size_t count SI_EINTR_SAVE_FUNC |
( |
ssize_t |
, |
|
|
readv |
, |
|
|
(int fd, const struct iovec *iov, int iovcnt) |
, |
|
|
(fd, iov, iovcnt) |
|
|
) |
| |
◆ SI_EINTR_SAVE_FUNC() [4/4]
int status int void size_t count int const void size_t count SI_EINTR_SAVE_FUNC |
( |
ssize_t |
, |
|
|
writev |
, |
|
|
(int fd, const struct iovec *iov, int iovcnt) |
, |
|
|
(fd, iov, iovcnt) |
|
|
) |
| |
◆ buf
◆ count
int status int void size_t count int const void size_t count |
◆ fd
◆ flags
◆ open
◆ pathname
◆ read
◆ si_open1
◆ status
◆ wait
◆ write