X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:subject :content-type:content-transfer-encoding; q=dns; s=default; b=OCj ZXViubtba0J2C6BQ3q6uEtwkDRXLS7MeP/8rayuEPXGLQ34q48U7ooxnUn2G4HAS gjQ66W4PCb69Wf+w2MQTDCl2HVa8t5mwr5g0xBXxEvlAJ4yZQ9a56s896MP0bIeU wSqZgjOWg5wlrLlAMzRLNUmDvyWPUuCcctmCSuc0= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:subject :content-type:content-transfer-encoding; s=default; bh=Ay2Io1Mlo +RfbyowLveGFU7yc2s=; b=Zz3yGbL7GEPBi+WIBVVDXFK0hrruV0EimUR9f0vHm +bqVT6tCDjskmmKs20quzKNSNz2pDV5sh9nk+T+WmAID5QzKWy6NTdm0/X87j0en if7draDifpuZI6eCQjRkTGKzWW/2vzA/7wjBp3WArNQvwhXmkbpp9/EjvVRJ2PNf bs= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_NO,RCVD_IN_HOSTKARMA_YE,RDNS_NONE,SPF_PASS autolearn=no version=3.3.1 Message-ID: <51F90C4C.5040105@cwilson.fastmail.fm> Date: Wed, 31 Jul 2013 09:08:28 -0400 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Cygwin 32bit vs 64bit difference: SIGQUIT Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit I was running the automake-1.12 test suite, and found a difference in behavior between the two cygwin's. On 32bit, it appears to miss the SIGQUIT signal: ========== 32 bit ========== PASS: t/tap-signal.tap 1 - "make check" fails FAIL: t/tap-signal.tap 2 - count of test results PASS: t/tap-signal.tap 3 - TAP driver catch test termination by signal SIGHUP PASS: t/tap-signal.tap 4 - TAP driver catch test termination by signal SIGINT FAIL: t/tap-signal.tap 5 - TAP driver catch test termination by signal SIGQUIT PASS: t/tap-signal.tap 6 - TAP driver catch test termination by signal SIGKILL PASS: t/tap-signal.tap 7 - TAP driver catch test termination by signal SIGPIPE PASS: t/tap-signal.tap 8 - TAP driver catch test termination by signal SIGTERM PASS: t/tap-signal.tap 9 - "make check" passes [--ignore-exit] PASS: t/tap-signal.tap 10 - count of test results [--ignore-exit] (the first FAIL is a dup of the second one). ========== 64 bit ========== PASS: t/tap-signal.tap 1 - "make check" fails PASS: t/tap-signal.tap 2 - count of test results PASS: t/tap-signal.tap 3 - TAP driver catch test termination by signal SIGHUP PASS: t/tap-signal.tap 4 - TAP driver catch test termination by signal SIGINT PASS: t/tap-signal.tap 5 - TAP driver catch test termination by signal SIGQUIT PASS: t/tap-signal.tap 6 - TAP driver catch test termination by signal SIGKILL PASS: t/tap-signal.tap 7 - TAP driver catch test termination by signal SIGPIPE PASS: t/tap-signal.tap 8 - TAP driver catch test termination by signal SIGTERM PASS: t/tap-signal.tap 9 - "make check" passes [--ignore-exit] PASS: t/tap-signal.tap 10 - count of test results [--ignore-exit] Here's the detailed log of the SIGQUIT failure: + for sig in '$all_signals' + signal_caught 3 + numeric=3 + case $numeric in + symbolic=QUIT + case $numeric,$system in + sig_re='((SIG)?QUIT|3)' + wbound_re='($|[^a-zA-Z0-9_-])' + pfx_re='^ERROR: signal-3\.test' + case $am_tap_implementation in + rx='^ERROR: signal-3\.test .*terminated by signal ((SIG)?QUIT|3)($|[^a-zA-Z0-9_-])' + desc='TAP driver catch test termination by signal SIGQUIT' + case " $blocked_signals " in + command_ok_ 'TAP driver catch test termination by signal SIGQUIT' env LC_ALL=C /usr/bin/grep -E '^ERROR: signal-3\.test .*terminated by signal ((SIG)?QUIT|3)($|[^a-zA-Z0-9_-])' stdout + tap_directive_= + tap_reason_= + test 7 -gt 0 + tap_description_='TAP driver catch test termination by signal SIGQUIT' + shift + test 6 -gt 0 + case $1 in + break + tap_result_=ok + env LC_ALL=C /usr/bin/grep -E '^ERROR: signal-3\.test .*terminated by signal ((SIG)?QUIT|3)($|[^a-zA-Z0-9_-])' stdout + tap_result_='not ok' + result_ 'not ok' -D '' -r '' -- 'TAP driver catch test termination by signal SIGQUIT' + set +x not ok 5 - TAP driver catch test termination by signal SIGQUIT FAIL: t/tap-signal.tap 5 - TAP driver catch test termination by signal SIGQUIT .... which doesn't really tell you much without the rest of the test driver machinery, but I include it for completeness. The point of this post is the following question: is there a known difference in the signal handling code between cygwin32 and cygwin64 that could explain why I see different behavior with respect to SIGQUIT? -- Chuck -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple