Macros | Functions | Variables
si_signals.h File Reference
#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.

Macros

#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)
 

Functions

 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
 

Variables

 wait
 
int * status
 
int status read
 
int status int fd
 
int status int void * buf
 
int status int void size_t count
 
int status int void size_t count write
 
int status int void size_t count int const void size_t count si_open1
 
int status int void size_t count int const void size_t count open
 
int status int void size_t count int const void size_t count const char * pathname
 
int status int void size_t count int const void size_t count const char int flags
 

Macro Definition Documentation

§ 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)

Definition at line 39 of file si_signals.h.

§ 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 \
{ \
int res = -1; \
do \
{ \
res = func args; \
} while((res err_domain) && (errno == EINTR));\
return res; \
}
poly res
Definition: myNF.cc:322

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)

Definition at line 42 of file si_signals.h.

§ SI_GET_FIFTH

#define SI_GET_FIFTH (   _4,
  _3,
  _2,
  _1,
  N,
  ... 
)    N

§ si_open

#define si_open (   ...)    SI_GET_FIFTH(X,##__VA_ARGS__, si_open2, si_open1)(__VA_ARGS__)

§ si_siginterrupt

#define si_siginterrupt (   arg1,
  arg2 
)

Function Documentation

§ 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)   
)

Variable Documentation

§ buf

int status int void size_t count int const void size_t buf

Definition at line 59 of file si_signals.h.

§ count

int status int void size_t count int const void size_t count

Definition at line 59 of file si_signals.h.

§ fd

int status int void size_t count int const void size_t fd

Definition at line 59 of file si_signals.h.

§ flags

int status int void size_t count int const void size_t count const char int flags

Definition at line 73 of file si_signals.h.

§ open

int status int void size_t count int const void size_t count open

Definition at line 73 of file si_signals.h.

§ pathname

int status int void size_t count int const void size_t count const char int pathname

Definition at line 73 of file si_signals.h.

§ read

int status read

Definition at line 59 of file si_signals.h.

§ si_open1

int status int void size_t count int const void size_t count si_open1

Definition at line 73 of file si_signals.h.

§ status

int* status

Definition at line 51 of file si_signals.h.

§ wait

wait

Definition at line 51 of file si_signals.h.

§ write

int status int void size_t count write

Definition at line 67 of file si_signals.h.