My Project
Loading...
Searching...
No Matches
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; \
}
CanonicalForm res
Definition: facAbsFact.cc:60

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.