Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com List-Subscribe: List-Archive: List-Post: List-Help: , Delivered-To: mailing list cygwin-apps AT sources DOT redhat DOT com Date: Sun, 17 Jun 2001 11:03:45 -0400 From: Christopher Faylor To: cygwin-apps AT cygwin DOT com Subject: Re: accept() failed message on kde 1.1.2 ?? Message-ID: <20010617110345.A3513@redhat.com> Reply-To: cygwin-apps AT cygwin DOT com Mail-Followup-To: cygwin-apps AT cygwin DOT com References: <000501c0f599$49f41bf0$6e032bb7 AT BRAMSCHE> <10093125657 DOT 20010615173633 AT logos-m DOT ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.11i In-Reply-To: <10093125657.20010615173633@logos-m.ru>; from deo@logos-m.ru on Fri, Jun 15, 2001 at 05:36:33PM +0400 Is there any traction on this problem? I see that Suhaib has released a new version of XFree86 which turns off UNIX-domain sockets, which is unfortunate. Do we know what is causing the problems that we're seeing? cgf On Fri, Jun 15, 2001 at 05:36:33PM +0400, egor duda wrote: >Friday, 15 June, 2001 Ralf Habacker Ralf DOT Habacker AT saght DOT tessag DOT com wrote: > >RH> I have applied the patch and as i see on short tests it works without >RH> errors. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! > >RH> Next week I think we have to figure out, whats going wrong > >if you're to debug this yourself i can suggest you one more way to use >if running under strace dissolves the problem. you can change some of >debug_printf()s to system_printf()s -- they're printing things right >to the console. > >i'd try to explain how things work (or at least supposed to work). > >some application bind()s to a AF_UNIX socket. on cygwin, AF_UNIX >socket is a file of the following structire: > >!port secret-cookie > >where "port" is a AF_INET port used to emulate this socket and secret >cookie is some random 128-bit value. > >when later application calls accept() on this socket, it creates >"server-side-secret-event". it's an event named >"cygwin.local_socket.secret.." >where port-number is local port number on which application accepts() >connection, and secret-cookie is that 128-bit value stored if socket >file. > >Application that calls connect() is doing basically the same: it >creates "client-side-secret-event", named just like "server-side" one, >with only one exception -- port-number is a port from which connect() >is initiated. > >now, everythig's ready and all client and server must do is to >"authenticate" each other. They're doing that by opening peer's secret >event (they can do it because they know both peer port and cookie), >signal it, and wait until peer signals their secret event. after that, >they proceed just like with normal socket connection. > >Hope this explanation helps. > >Egor. mailto:deo AT logos-m DOT ru ICQ 5165414 FidoNet 2:5020/496.19 -- cgf AT cygnus DOT com Red Hat, Inc. http://sources.redhat.com/ http://www.redhat.com/