Sponsored Content
Top Forums Programming Reliable management of signal SIGPIPE and SIGTERM Post 302406226 by italian_boy on Monday 22nd of March 2010 10:27:26 AM
Old 03-22-2010
Reliable management of signal SIGPIPE and SIGTERM

I' m note very expert in the reliable manage of signal... but in my server I must manage SIGPIPE for the socket and SIGTERM...
I've wrote this but there is something wrong... Can someone explain me with some example the reliable management of signal??

This is what I've wrote in the server
Code:
 struct sigaction sig, osig; 
   sigset_t sigmask, oldmask, zeromask;

  sig.sa_handler= catcher;
  sigemptyset( &sig.sa_mask);
  sig.sa_flags= 0;
  sigemptyset( &sigmask);
  sigaddset(&sigmask, SIGPIPE);
  sigaddset(&sigmask, SIGTERM);
  sigprocmask(SIG_BLOCK, &sigmask, &oldmask);
  sigaction(SIGPIPE, &sig, &osig);
  sigaction(SIGTERM, &sig, &osig);

......
......
......
while(1){
.....
.....
......
.....
.....
sigsuspend(&zeromask);
}

....
.....
......
}

 

9 More Discussions You Might Find Interesting

1. Programming

signals - SIGTERM

Hi all, I need some urgent help. we are using Dynix/ptx V4.5 on i386, have several processes and instances are running on the box round the clock.we increased the processes recently. We have coded to handle the signals in our programs. Recently, we noticed most of our processes are... (2 Replies)
Discussion started by: reddyb
2 Replies

2. AIX

auditing fails with SIGPIPE signal on 1/4 hour

Hi folks, Can anyone assist with pointers for the following snag? We have custom method (IBM-supplied) for running the audit subsystem on 5.1-07 /etc/security/audit objects, events and config have been edited, and the /etc/security/audit/streamcmds contains the following routine; ... (1 Reply)
Discussion started by: reclspeak
1 Replies

3. Shell Programming and Scripting

How to detect SIGTERM,SIGKILL signal in UNIX

Dear All We have JBOSS server running on Linux we need to track Graceful Shutdown(SIGTERM) and Forceful Shutdown(SIGKILL) timestamp and write it into one file, I am new to UNIX Signal processing if is it possible how to detect it? We generally do $kill PID For Graceful... (5 Replies)
Discussion started by: mnmonu
5 Replies

4. Programming

Catch signal SIGPIPE print errno but it's value equal to 2

catch signal SIGPIPE ,print errno but it's value equal to 2(ENOENT) #define ENOENT 2 /* No such file or directory */ is it should be EPIPE ? #define EPIPE 32 /* Broken pipe */ Thanks ! (7 Replies)
Discussion started by: aobai
7 Replies

5. UNIX for Advanced & Expert Users

Why not SIGPIPE for readers of pipe/FIFO?

Hi This is a exercise question from Unix network programming vol2. Why the SIGPIPE signal is generated only for writers when readers disappear. why not it is generated for readers when writer disappears. I guess, if the writer didn't get any response like the reader gets EOF, it will... (4 Replies)
Discussion started by: kumaran_5555
4 Replies

6. Programming

SIGPIPE and EPIPE

When a write() writes on a broken pipe, with no readers, it generates a SIGPIPE signal and the process exits. When the write() returns -1 and errno is EPIPE? Do I have an handler for SIGPIPE, or can I ignore it? (2 Replies)
Discussion started by: hurricane
2 Replies

7. UNIX for Dummies Questions & Answers

Is this website reliable ?

edit by bakunin: content not relevant for our site (and bordering on spam) SNIPped, thread closed. My suggestion is to - before even considering to buy anything online - put more effort in research, i.e. what the web site you write a comment at, is all about. This one here is definitely not for... (1 Reply)
Discussion started by: ethansk
1 Replies

8. Homework & Coursework Questions

C TCP/IP Reliable Transmission project not reliable

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: We must do the following for a massive coding project that is due at 12:20PM on Monday, July 22, 2013. We are to... (1 Reply)
Discussion started by: kowit010
1 Replies

9. AIX

SIGTERM failing in AIX

I have 2 AIX 6.1 systems running on PowerPCs - production and .. .everything else. :p . Until the installation of a TLS certificate in an application, some copying of files ("cloning an environment") and upgrading a listener, sending a kill -15 worked on any script/application, so long as we were... (6 Replies)
Discussion started by: Mrucker
6 Replies
sigsetops(3)						     Library Functions Manual						      sigsetops(3)

Name
       sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - manipulate signal sets (POSIX)

Syntax
       #include <signal.h>

       int sigemptyset(set)
       sigset_t *set;

       int sigfillset (set)
       sigset_t *set;

       int sigaddset(set,sig)
       sigset_t *set;
       int sig;

       int sigdelset(set,sig)
       sigset_t *set;
       int sig;

       int sigismember(set,sig)
       sigset_t *set;
       int sig;

Description
       The functions manipulate signal sets used by the other POSIX signal functions

       The function initializes the signal set pointed to by the argument set so that all signals are excluded.

       The function initializes the signal set pointed to by the argument set so that all signals are included.

       The  and functions respectively add and delete the individual signal specified by the value of the argument sig from the signal set pointed
       to by the argument set.

       The function tests whether the signal specified by the value of the argument sig is a member of the set pointed to by the argument set.

Return Values
       Upon successful completion, the function returns a value of 1 if the specified signal is a member of the set.  If it is not a member of the
       set, a value of 0 is returned.

       If the or functions fail a -1 value is returned and errno is set to indicate the reason.

Diagnostics
       The function will fail and the signal mask will remain unchanged if one of the following occur:

       [EINVAL]       The value of the sig argument is not a valid signal number

See Also
       sigprocmask(3), sigaction(3), sigsuspend(3), sigpending(2)

																      sigsetops(3)
All times are GMT -4. The time now is 04:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy