[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] udp.scm on cygwin

From: felix winkelmann
Subject: Re: [Chicken-users] udp.scm on cygwin
Date: Tue, 25 Oct 2005 07:22:49 +0200

On 10/23/05, Daishi Kato <address@hidden> wrote:
> Hi,
> I found a relevant entry at;
> and it is actually noted in recvfrom(2).
> I did make a patch which works fine for me,
> but let me know if there is a better way of fixing,
> like using foreign-something.

Your patch is word-size and endian-specific, I suggest something like this:

(define udp-recvfrom
  (lambda (sock len)
    (let ((fd (io:descriptor sock))
          (buf (make-string len))
          (from (make-string _sockaddr_in_size)))
      (let-location ((fromlen int _sockaddr_in_size))
        (let ((result
               (restart-nonblocking "recvfrom" fd #t
                                    (lambda () (##net#recvfrom fd buf len
                                                               0 from 
          (values result (substring buf 0 result)
                  (##net#inaddr->string from) (##net#inaddr-port from)))))) )

> Next in my wish list for udp.scm is
> the support of native-windows.
> I will try to setup an environment, but it seems there are several methods:
> vcbuild.bat,, cmake, and maybe cygwin+mingw.
> For now, which is the best to go?

It depends on your available tools. I recommend the native toolset.
Depending on whether you have the commercial version or not,
you should use either or vcbuilt.bat/vctk-install.txt.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]