From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.0 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 6DAB6BC0A for ; Sat, 5 May 2007 16:46:29 +0200 (CEST) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.174]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l45EkTUU011101 for ; Sat, 5 May 2007 16:46:29 +0200 Received: by ug-out-1314.google.com with SMTP id k3so718391ugf for ; Sat, 05 May 2007 07:46:28 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:mime-version:in-reply-to:references:content-type:message-id:content-transfer-encoding:from:subject:date:to:x-mailer; b=r4vlWmDIct6ScoMfurtBWw2kzLPwrc9vVD11HNar11jL8fwmDg4Y6/6KrVYrLn++lx6UvTycWa2ZRVT2W47Npum1PaJfx54rgDTZz2pS5jRsmnTo1IQB5q8rAj7mhVx9N84x+6fukyOW9lACqQchmK2lCcaVLvhxqCtF2psRf9M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:mime-version:in-reply-to:references:content-type:message-id:content-transfer-encoding:from:subject:date:to:x-mailer; b=REHlWrOuUjfoMytnRlyDJJWgYo5mIT6x8ain6Ditl1+PBGT9qJLMetMFjdh/wWZ15SoHWk0DJ5CK4/dPzjai4KgRMXJFXyOGYqp6ldkUnsgNCyvw6BZdzcGpRf/1fRVsNEeveR0N/cVu/dOL9GWxOKRb14iF4tjrmE+h7lM1IEo= Received: by 10.82.185.12 with SMTP id i12mr8380647buf.1178376388652; Sat, 05 May 2007 07:46:28 -0700 (PDT) Received: from ?192.168.1.33? ( [83.34.3.221]) by mx.google.com with ESMTP id b36sm4527627ika.2007.05.05.07.46.27; Sat, 05 May 2007 07:46:27 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v752.3) In-Reply-To: References: <71B2C4B5-3ECB-450F-B015-3C5EAB90855F@gmail.com> <75F71DDF-CACC-4AD9-A3DA-E0049FC9FB2F@gmail.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <2FAFE712-2FA9-40FC-A921-A4AE57107E23@gmail.com> Content-Transfer-Encoding: 7bit From: Joel Reymont Subject: Re: Mac OSX getsocketpair/getsockname and IPv6 Date: Sat, 5 May 2007 15:46:24 +0100 To: OCaml List X-Mailer: Apple Mail (2.752.3) X-j-chkmail-Score: MSGID : 463C98C5.000 on concorde : j-chkmail score : XXX : 5/20 1 0.000 -> 3 X-Miltered: at concorde with ID 463C98C5.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; osx:01 getsockname:01 ocaml:01 syscalls:01 ocamlrun:01 1,0,0:01 ocamlrun:01 getsockname:01 ocaml:01 camlprim:01 sizeof:01 val:01 printf:01 val:01 uerror:01 As Rich suggested, I ran OCaml with kernel process tracing to see what the syscalls return. 28407 ocamlrun CALL socketpair(0x1,0x1,0,0xbffff268) 28407 ocamlrun RET socketpair 0 28407 ocamlrun CALL getsockname(0x5,0xbffff204,0xbffff200) 28407 ocamlrun RET getsockname 0 28407 ocamlrun GIO fd 1 wrote 56 bytes "Exception: Unix.Unix_error (Unix.EAFNOSUPPORT, "", ""). So both socketpair and getsockname return 0 but OCaml still complains. My version of getsockname.c below outputs: unix_getsockname: sock = 5, len = 0, retcode = 0 Exception: Unix.Unix_error (Unix.EAFNOSUPPORT, "", ""). Any suggestions? Thanks, Joel --- CAMLprim value unix_getsockname(value sock) { int retcode; union sock_addr_union addr; socklen_param_type addr_len; addr_len = sizeof(addr); retcode = getsockname(Int_val(sock), &addr.s_gen, &addr_len); printf("unix_getsockname: sock = %d, len = %d, retcode = %d\n", Int_val(sock), addr_len, retcode); if (retcode == -1) uerror("getsockname", Nothing); return alloc_sockaddr(&addr, addr_len, -1); } -- http://wagerlabs.com/