tcpsvd: new applet

It's a GPL-ed 'clone' of Dan Bernstein's tcpserver.
Author: Gerrit Pape <pape@smarden.org>
http://smarden.sunsite.dk/ipsvd/
size tcpsvd.o
   text    data     bss     dec     hex filename
   2571       4      16    2591     a1f tcpsvd.o
This commit is contained in:
Denis Vlasenko
2007-04-01 01:18:20 +00:00
parent f443bffd3c
commit 2856dab477
19 changed files with 704 additions and 111 deletions

View File

@ -385,56 +385,9 @@ int seek_set(int fd,seek_pos pos)
#endif
/*** sig_block.c ***/
void sig_block(int sig)
{
sigset_t ss;
sigemptyset(&ss);
sigaddset(&ss, sig);
sigprocmask(SIG_BLOCK, &ss, NULL);
}
void sig_unblock(int sig)
{
sigset_t ss;
sigemptyset(&ss);
sigaddset(&ss, sig);
sigprocmask(SIG_UNBLOCK, &ss, NULL);
}
void sig_blocknone(void)
{
sigset_t ss;
sigemptyset(&ss);
sigprocmask(SIG_SETMASK, &ss, NULL);
}
/*** sig_catch.c ***/
void sig_catch(int sig,void (*f)(int))
{
struct sigaction sa;
sa.sa_handler = f;
sa.sa_flags = 0;
sigemptyset(&sa.sa_mask);
sigaction(sig,&sa, NULL);
}
/*** sig_pause.c ***/
void sig_pause(void)
{
sigset_t ss;
sigemptyset(&ss);
sigsuspend(&ss);
}
/*** str_chr.c ***/
// strchrnul?
unsigned str_chr(const char *s,int c)
{
char ch;
@ -449,24 +402,3 @@ unsigned str_chr(const char *s,int c)
}
return t - s;
}
/*** wait_nohang.c ***/
int wait_nohang(int *wstat)
{
return waitpid(-1, wstat, WNOHANG);
}
/*** wait_pid.c ***/
int wait_pid(int *wstat, int pid)
{
int r;
do
r = waitpid(pid, wstat, 0);
while ((r == -1) && (errno == EINTR));
return r;
}