From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Lars Magne Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: Re: Async DNS lookups Date: Tue, 02 Nov 2010 19:13:30 +0100 Organization: Programmerer Ingebrigtsen Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1288721833 795 80.91.229.12 (2 Nov 2010 18:17:13 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 2 Nov 2010 18:17:13 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 02 19:17:09 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PDLPp-00046P-6o for ged-emacs-devel@m.gmane.org; Tue, 02 Nov 2010 19:17:09 +0100 Original-Received: from localhost ([127.0.0.1]:32946 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PDLOi-0006bQ-Sq for ged-emacs-devel@m.gmane.org; Tue, 02 Nov 2010 14:15:52 -0400 Original-Received: from [140.186.70.92] (port=59366 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PDLNB-00065V-9H for emacs-devel@gnu.org; Tue, 02 Nov 2010 14:15:47 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PDLMm-0007i6-M0 for emacs-devel@gnu.org; Tue, 02 Nov 2010 14:13:57 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:49791) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PDLMm-0007ho-Cj for emacs-devel@gnu.org; Tue, 02 Nov 2010 14:13:52 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1PDLMg-0002Eq-H9 for emacs-devel@gnu.org; Tue, 02 Nov 2010 19:13:46 +0100 Original-Received: from cm-84.215.34.171.getinternet.no ([84.215.34.171]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 02 Nov 2010 19:13:46 +0100 Original-Received: from larsi by cm-84.215.34.171.getinternet.no with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 02 Nov 2010 19:13:46 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Original-Lines: 26 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: cm-84.215.34.171.getinternet.no Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEUzfopEISoue4RFbW5M j6Ps7Of+//4teYJGfzHfAAACM0lEQVQ4jX2UT2/aQBDFV4tLrhmclutqiLpXnE3iq0vWybUVbD9B 07M9RNqv3zdrg9IqdAQI7Y/3dv4Z8/tCmMvgNX4QzwC/zL9hrfkIWGuZZxDNIsynBqeW3QSqg3nY b7eGyyGzy7OiP5iQguBUj613WQqo0j6EOrgpny7GKtoC+rSnWlpfLnHGVMZMViktmjq3OQvnqnqn SN83gQKzF3FOHHNmOYOmxs9z1rfGDA4bCvXxjoVF3oP+wE0gqj08WFVyAokhIWpxe1GInOqwm6aG JJ/jBDofqAHwMMne51lhUrfJBEnOXv3yGfTd8Ug1isxjaFp1Gk5N3G4IGWdk97RGM0/z6NMd6xUK wlqE/bntOwC1P+ITRc7A3T51qATAi7YGXZsmKO5hJxzaUgENOhReFsVisI6dVi2Ztn1KhwnofDBo WKDDtFLgTkBPWdNBoZ9S2k1gQU4l6Koq6O0MGrouZqKvkeg60KBgT/dN61wRiEcliDXAK9XxGxk3 XaNeGgVQbNbFCzHKWMBjAYG2zuklvqHVJPmMO9ClGyTsfAj4usqQrKkG+AEvd4WZUwi6dApGelbF fVTjtko73QMFR3pEuvcxblrJLiXrIZnATxSIbg5I6Ba947OVVh6NQW3cpxdd06Jobgp4YXHG9YfS RYBmTV/KXtmrPPAbBNrFPNZj3RSApwhOVcS2uWjzscWz8nUC0csQOwy2ip0vK7qcQQdBNFkfQ/MX eB9WR73835/MhfgDi6ce8Dbaup0AAAAASUVORK5CYII= Mail-Copies-To: never X-Now-Playing: Robert Wyatt, Gilad Atzmon, Ros Stephen's _For the Ghosts Within_: "Laura" User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:n4CDvFigfIpFQwWXCDjI+nGN1j4= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:132290 Archived-At: Stefan Monnier writes: >> If so, this sounds like a no-brainer to do in C instead of in dns.el. > > Patch welcome, I meant for somebody who knows what they're doing. :-) I, like, see it happening like this: 1) User does: (resolve-async "gwene.org" #'my-callback my-data) 2) C does pthread_create() (right?), and lets the main thread return from the call. The other thread just does a normal getaddrinfo(). 3) When getaddrinfo() returns, we do (funcall #'my-callback result my-data) But 3) probably needs to be in the same sort of state that timers run in, so that we don't have two Emacs Lisp threads running at the same time. Any pointers where to look for how to "halt" the main Emacs thread? Or something? -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen