X-Spam-Check-By: sourceware.org Message-ID: <43F9D317.5090502@alexdupre.com> Date: Mon, 20 Feb 2006 15:32:55 +0100 From: Alex Dupre User-Agent: Thunderbird 1.5 (X11/20060115) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: signal handler and JNI Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 Hello, I have a question about signal handling and JNI under cygwin. The scenario is the following: - a cygwin program register a function to handle SIGINT and SIGTERM signals - the program then launches the Java Virtual Machine via the JNI invocation API, telling it to not override any signal handlers Hitting a CTRL-C should then immediately run the defined signal handler, but this is not the case. For some reason (what exactly?) inside the java program I need to periodically call a native function linked with cygwin, but this is not enough. In the called function I have to do something more, like printing a char to stdout or /dev/null (calling printf("") with an empty string doesn't work). Only in this way the signal handler is called as soon as I hit CTRL-C, otherwise it's ignored or handled seconds/minutes later. Maybe the callback to C code is mandatory under cygwin, but why should I print something to have to signal handled? Any suggestions? -- Alex Dupre -- 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/