To: cygwin AT cygwin DOT com From: "Joe Smith" Subject: Re: Can I get a sigint when the bash window closed with close window's button ? Date: Tue, 15 Nov 2005 17:45:06 -0500 Lines: 38 Message-ID: References: <896835389 AT web DOT de> Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com "Igor Pechtchanski" wrote in message news:Pine DOT GSO DOT 4 DOT 63 DOT 0511151424250 DOT 15491 AT slinky DOT cs DOT nyu DOT edu... > On Tue, 15 Nov 2005, Konrad Eisele wrote: > >> When th cygwin bash window is closed by clicking on the window's close >> button the the appliaction gets killed without recieving a sigint or any >> atexit called. Is there a way to be able to run cleanup code when the >> application is about to be killed? > > According to exceptions.cc, a SIGHUP will be sent to bash in this case. > Are you handling the right signal? > > BTW, the atexit() callback also should be called -- do you have a simple > testcase to reproduce the problem? > Igor I know nothing about signals, but this program when run inside bash does not seem to run callback() *ever*. ^c does not run it. Closing the bash window does not run it. But if you remove the loop then it *is* run. #include void callback() { FILE *current; current=fopen("test.txt","a"); fprintf(current,"atexit"); } int main() { atexit(*callback); while(1) {}; } -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/