[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] udp.scm on cygwin
From: |
Daishi Kato |
Subject: |
Re: [Chicken-users] udp.scm on cygwin |
Date: |
Thu, 27 Oct 2005 00:01:09 +0900 |
User-agent: |
Wanderlust/2.15.1 (Almost Unreal) Emacs/21.4 Mule/5.0 (SAKAKI) |
Hi felix,
Wow, how nice the locations are.
I'd appreciate if you apply your patch.
I'm not sure if I follow the recent thread;
is tcp.scm supported on native-windows?
I guess udp.scm is easily supported if
tcp.scm is done.
Daishi
At Tue, 25 Oct 2005 07:22:49 +0200,
felix winkelmann wrote:
>
> On 10/23/05, Daishi Kato <address@hidden> wrote:
> > Hi,
> >
> > I found a relevant entry at;
> > http://www.cygwin.com/ml/cygwin/2002-11/msg00732.html
> > 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
> #$fromlen)))))
> (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, makefile.vc, 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 makefile.vc or vcbuilt.bat/vctk-install.txt.
>
>
> cheers,
> felix