My Project
Loading...
Searching...
No Matches
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 SINGULAR_SI_SIGNALS_H
 
#define SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, newfunc, func, decl, args, err_domain)
 
#define SI_EINTR_SAVE_FUNC(return_type, func, decl, args)
 
#define SI_EINTR_SAVE_SCANF(return_type, func, decl, args)
 
#define SI_GET_FIFTH(_4, _3, _2, _1, N, ...)
 
#define si_open(...)
 
#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, write,(int fd, const void *buf, size_t count),(fd, buf, count)) 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 si_open1
 
int status int void size_t count open
 
int status int void size_t count const char * pathname
 
int status int 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 )
Value:
SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, si_##func, func, decl, args, < 0)
#define SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, newfunc, func, decl, args, err_domain)
Definition si_signals.h:31

Definition at line 42 of file si_signals.h.

42#define SI_EINTR_SAVE_FUNC(return_type, func, decl, args) \
43 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 \
{ \
int res = -1; \
do \
{ \
res = func args; \
} while((res err_domain) && (errno == EINTR));\
return res; \
}
CanonicalForm res
Definition facAbsFact.cc:60

Definition at line 31 of file si_signals.h.

31#define SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, newfunc, func, decl, args, err_domain) \
32static inline return_type newfunc decl \
33{ \
34 int res = -1; \
35 do \
36 { \
37 res = func args; \
38 } while((res err_domain) && (errno == EINTR));\
39 return res; \
40}

◆ SI_EINTR_SAVE_SCANF

#define SI_EINTR_SAVE_SCANF ( return_type,
func,
decl,
args )
Value:
SI_EINTR_SAVE_FUNC_TEMPLATE(return_type, si_##func, func, decl, args, == EOF)

Definition at line 45 of file si_signals.h.

45#define SI_EINTR_SAVE_SCANF(return_type, func, decl, args) \
46 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,
... )
Value:
const CanonicalForm CFMap CFMap & N
Definition cfEzgcd.cc:56

◆ si_open

#define si_open ( ...)
Value:
SI_GET_FIFTH(X,##__VA_ARGS__, si_open2, si_open1)(__VA_ARGS__)
int status int void size_t count si_open1
Definition si_signals.h:83
#define SI_GET_FIFTH(_4, _3, _2, _1, N,...)

◆ si_siginterrupt

#define si_siginterrupt ( arg1,
arg2 )

◆ SINGULAR_SI_SIGNALS_H

#define SINGULAR_SI_SIGNALS_H

Definition at line 29 of file si_signals.h.

Function Documentation

◆ SI_EINTR_SAVE_FUNC() [1/3]

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/3]

int status SI_EINTR_SAVE_FUNC ( pid_t ,
waitpid ,
(pid_t pid, int *status, int options) ,
(pid, status, options)  )

◆ SI_EINTR_SAVE_FUNC() [3/3]

int status int void size_t count SI_EINTR_SAVE_FUNC ( ssize_t ,
write ,
(int fd, const void *buf, size_t count) ,
(fd, buf, count)  )

Variable Documentation

◆ buf

int status int void size_t buf

Definition at line 69 of file si_signals.h.

◆ count

int status int void size_t count

Definition at line 69 of file si_signals.h.

◆ fd

int status int void size_t fd

Definition at line 69 of file si_signals.h.

◆ flags

int status int void size_t count const char int flags

Definition at line 83 of file si_signals.h.

◆ open

int status int void size_t count open

Definition at line 83 of file si_signals.h.

◆ pathname

int status int void size_t count const char int pathname

Definition at line 83 of file si_signals.h.

◆ read

int status read

Definition at line 69 of file si_signals.h.

◆ si_open1

int status int void size_t count si_open1

Definition at line 83 of file si_signals.h.

◆ status

int* status

Definition at line 61 of file si_signals.h.

◆ wait

wait

Definition at line 61 of file si_signals.h.