To: cygwin@cygwin.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@web.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@cygwin.com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Delivered-To: mailing list cygwin@cygwin.com "Igor Pechtchanski" wrote in message news:Pine.GSO.4.63.0511151424250.15491@slinky.cs.nyu.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/