Bugs item #3115854, was opened at 2010-11-22 20:25
Message generated for change (Comment added) made by rd235
You can respond by visiting: 

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
>Resolution: Fixed
Priority: 1
Private: No
Submitted By: megurikuru (megurikuru)
>Assigned to: renzo davoli (rd235)
Summary: Cannot profile application with unmanaged SIGTERM

Initial Comment:
Virtual NetManager (VNM) works together with VDE. When VNM stops running 
sub-programs (wirefilter, vde_switch, etc) sends SIGTERM (15). Inside VDE 
elements, at present, the default action with SIGTERM is to do a cleanup() , 
reattach the default signal management and execute default management of 
SIGTERM, that is SIGKILL. When profiling programs compiled with -gp, a clean 
exit is needed to correctly write the profiling information file (gmon.out). 
That means the program has to do a return from the main or execute exit(int);
I've fixed this doing a "if(sig==SIGTERM) exit(0);" inside the sig_handler 
function of the various programs (vde_switch,wirefilter,etc), just before the 
"kill(getpid(), sig);" line.


>Comment By: renzo davoli (rd235)
Date: 2011-02-14 15:38

current svn includes a fix for all the commands.


Comment By: megurikuru (megurikuru)
Date: 2010-11-22 20:47

Errata corrige: the line "if(sig==SIGTERM) exit(0);" has to be inserted at
the head of sig_handler function to avoid double cleanup call [this is
because the use of atexit(cleanup); function in main].


You can respond by visiting: 

The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
vde-users mailing list

Reply via email to