Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!news-transit.tcx.org.uk!rt.uk.eu.org!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.020 X-Spam-Evidence: '*H*': 0.96; '*S*': 0.00; 'cpython': 0.05; 'sockets': 0.09; 'received:209.85.210.174': 0.13; 'received:mail- iy0-f174.google.com': 0.13; 'method.': 0.15; 'accept()': 0.16; 'hangs.': 0.16; 'pipes': 0.16; 'platform)': 0.16; 'side.': 0.16; 'timeout,': 0.16; 'trying': 0.21; 'connections': 0.21; 'skip:m 30': 0.24; 'module': 0.26; 'windows': 0.26; "i'm": 0.26; 'missed': 0.28; '(and': 0.28; '(depending': 0.30; 'establishes': 0.30; 'objects': 0.32; 'initial': 0.32; 'pretty': 0.32; 'message- id:@gmail.com': 0.33; 'header:User-Agent:1': 0.33; 'named': 0.33; 'there': 0.33; 'to:addr:python-list': 0.34; 'issue': 0.35; 'external': 0.35; 'connection': 0.36; 'subject:with': 0.36; 'but': 0.37; 'received:192': 0.37; 'received:google.com': 0.37; "there's": 0.37; 'received:209.85': 0.38; "i'd": 0.39; 'received:209': 0.40; 'to:addr:python.org': 0.40; 'received:192.168': 0.40; 'connection.': 0.77; 'launches': 0.84; 'received:192.168.1.24': 0.84; 'something.': 0.84 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :x-enigmail-version:content-type:content-transfer-encoding; bh=A1Ghz70nak49jKaUgIHTrWNRZq1QQTpqsQcfxeP2NnY=; b=YZlO8T57kDXDoCU/fbHsr6jeMJxVsVAckpdQc29flrq5s/ke0JxbU/8oW/wodTJNuw 9tl+a1GS6K5LTM1jjrXLetJI5iuJtnpKujy0hroTCaVq/dr08lBr24ZnGilUZm5m7Vdf A5PlqqMYKjsiIjj96VLlxdypq4M7TH6KQB8Ic= Date: Thu, 22 Dec 2011 14:27:31 -0600 From: Andrew Berg User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0) Gecko/20110922 Thunderbird/7.0 MIME-Version: 1.0 To: "comp.lang.python" Subject: IPC with multiprocessing.connection X-Enigmail-Version: 1.3.3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 14 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1324585661 news.xs4all.nl 6886 [2001:888:2000:d::a6]:52316 X-Complaints-To: abuse@xs4all.nl Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:17748 I'm trying to set up a system where my main program launches external programs and then establishes connections to them via named pipes or Unix domain sockets (depending on platform) with multiprocessing.connection.Listener. The issue I'm having is with the accept() method. If there is nothing on the other side of the pipe/socket, it just hangs. Connection objects have a poll() method that can timeout, but I see no way to continue the program if there's no initial connection. What I'd like to do is let it time out if there's nothing on the other side. I'm pretty new to the multiprocessing module (and IPC in general), so I could've easily missed something. -- CPython 3.2.2 | Windows NT 6.1.7601.17640