X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: <002601c92161$6f008860$0200a8c0@whiterabc2znlh> From: "Hirokazu Yamamoto" To: References: <003301c92110$336cee20$0200a8c0 AT whiterabc2znlh> <48DF3317 DOT 5060300 AT sh DOT cvut DOT cz> Subject: Re: crash if fork(2) from another thread Date: Sun, 28 Sep 2008 20:57:51 +0900 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook Express 6.00.2800.1933 X-IsSubscribed: yes 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 > I think this is not allowed in here. You can only do async-signal-safe stuff > in the child. IO is AFAIK not in that category. Basically, the only thing you > can safely do in the child process is to call exec(). Thank you for reply. I found similar info in MacOSX doc. (in CAVEATS) http://developer.apple.com/documentation/Darwin/Reference/ManPages/man2/fork.2.html I encountered this crash while investigating python's trunk/Lib/test/test_threading.py ThreadJoinOnShutdown (test_3_join_in_forked_from_thread) which hangs on cygwin. It's calling thread stuff and IO on child process, maybe it's not good practice... -- 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/