Lines 2-7
Link Here
|
2 |
#include <sys/param.h> |
2 |
#include <sys/param.h> |
3 |
#include <sys/stat.h> |
3 |
#include <sys/stat.h> |
4 |
#include <sys/resource.h> |
4 |
#include <sys/resource.h> |
|
|
5 |
#include <sys/socket.h> |
5 |
#include <assert.h> |
6 |
#include <assert.h> |
6 |
#include <errno.h> |
7 |
#include <errno.h> |
7 |
#include <dlfcn.h> |
8 |
#include <dlfcn.h> |
Lines 119-124
Link Here
|
119 |
|
120 |
|
120 |
int __l_sigprocmask(int how, const sigset_t *set, sigset_t *oldset); |
121 |
int __l_sigprocmask(int how, const sigset_t *set, sigset_t *oldset); |
121 |
|
122 |
|
|
|
123 |
struct l_sockaddr { |
124 |
u_int16_t sa_family; |
125 |
char sa_data[14]; |
126 |
}; |
127 |
|
128 |
int __l_connect(int s, const struct l_sockaddr *l_sa, socklen_t addrlen); |
129 |
int __l_sigaction(int signum, const struct sigaction *l_act, struct sigaction *oldact); |
130 |
|
122 |
#ifdef stdin |
131 |
#ifdef stdin |
123 |
#undef stdin |
132 |
#undef stdin |
124 |
#undef stdout |
133 |
#undef stdout |
Lines 528-530
Link Here
|
528 |
|
537 |
|
529 |
return sigprocmask(how, set, oldset); |
538 |
return sigprocmask(how, set, oldset); |
530 |
} |
539 |
} |
|
|
540 |
|
541 |
int |
542 |
__l_connect(int s, const struct l_sockaddr *l_sa, socklen_t addrlen) |
543 |
{ |
544 |
struct sockaddr sa; |
545 |
|
546 |
memcpy(sa.sa_data, l_sa->sa_data, sizeof(sa.sa_data)); |
547 |
sa.sa_len = addrlen; |
548 |
sa.sa_family = l_sa->sa_family; |
549 |
return connect(s, &sa, addrlen); |
550 |
} |
551 |
|
552 |
int |
553 |
__l_sigaction(int signum, const struct sigaction *l_act, struct sigaction *oldact) |
554 |
{ |
555 |
struct sigaction act; |
556 |
|
557 |
act.sa_handler = l_act->sa_handler; |
558 |
act.sa_flags = l_act->sa_flags & (SA_ONSTACK | SA_RESTART | SA_RESETHAND | |
559 |
SA_NOCLDSTOP | SA_NODEFER | SA_NOCLDWAIT | SA_SIGINFO); |
560 |
act.sa_mask = l_act->sa_mask; |
561 |
return sigaction(signum, &act, oldact); |
562 |
} |
563 |
|