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 Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id 65EF3BC0A for ; Sun, 6 May 2007 01:53:25 +0200 (CEST) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.172]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l45NrOYw021906 for ; Sun, 6 May 2007 01:53:25 +0200 Received: by ug-out-1314.google.com with SMTP id k3so758014ugf for ; Sat, 05 May 2007 16:53:24 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:mime-version:content-type:message-id:cc:content-transfer-encoding:from:subject:date:to:x-mailer; b=PpLR7zArFJTONqen3il4861a3ufd3tctu18AxuDq7TfNashQNzGK4NjHw+ZpllA0hyovxneVDAKpU4ZlPYOARJrE68WoYIGRDN4SXBJmh80YNZPZd9cVtpZ228bnYk+m/T3Gu9Ly1ZLvuL5KicVhFmESFC2WP0NqBbh/btvLn8M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:mime-version:content-type:message-id:cc:content-transfer-encoding:from:subject:date:to:x-mailer; b=r+yq/y9lX3BsEjSjjAequf55/5vNP4Dy9vqPacAHL9CD/jjyPMnSYhxKqUbhzx7+zPWIKoPBlklhI+DiIl6xUirraJ565BsJnhnH9fAn4ACkiN73cvn6Kgb3PtGo6o3yDiGDAfOu0+JFHhcZw7zt1jGPoghmkqDkPvOyx51q7l4= Received: by 10.67.23.5 with SMTP id a5mr3830678ugj.1178409204764; Sat, 05 May 2007 16:53:24 -0700 (PDT) Received: from ?192.168.1.33? ( [83.34.3.221]) by mx.google.com with ESMTP id q1sm8287262uge.2007.05.05.16.53.23; Sat, 05 May 2007 16:53:23 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v752.3) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <30022EF0-80B2-40D0-A9E0-A010ED581372@gmail.com> Cc: OCaml List Content-Transfer-Encoding: 7bit From: Joel Reymont Subject: ocamlnet changes needed for Mac OSX Date: Sun, 6 May 2007 00:53:20 +0100 To: Gerd Stolpmann X-Mailer: Apple Mail (2.752.3) X-j-chkmail-Score: MSGID : 463D18F4.001 on discorde : j-chkmail score : XXX : 5/20 1 0.000 -> 3 X-Miltered: at discorde with ID 463D18F4.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocamlnet:01 osx:01 gerd:01 ocamlnet:01 osx:01 sockaddr:01 getsockname:01 sockaddr:01 getpeername:01 getpeername:01 recv:01 unconnected:01 recvfrom:01 recvfrom:01 inactive:98 Gerd, I would like to suggest two changes that would enable ocamlnet to work on Mac OSX: 1) src/rpc/rpc_transport.ml let stream_rpc_multiplex_controller ?(close_inactive_descr=true) fd esys = let sockname = try `Sockaddr(Unix.getsockname fd) with Unix.Unix_error _ -> `Implied in let peername = try `Sockaddr(Unix.getpeername fd) with Unix.Unix_error _ -> `Implied in ... I see `Implied used in other places so this looks sensible to me. 2) src/equeue/uq_engines.ml class socket_multiplex_controller ?(close_inactive_descr = true) ?(supports_half_open_connection = false) fd esys : datagram_multiplex_controller = let fd_style = try let addr = Unix.getpeername fd in (* fd is a connected socket *) `Recv_send addr with | Unix.Unix_error(Unix.ENOTCONN,_,_) -> (* fd is an unconnected socket *) `Recvfrom_sendto | Unix.Unix_error(Unix.ENOTSOCK,_,_) -> (* fd is not a socket *) `Read_write | _ -> `Recvfrom_sendto in ... A default case in the match above to handle the rest of getpeername errors. Please let me know if this is acceptable. Thanks, Joel -- http://wagerlabs.com/