chicken-janitors
[Top][All Lists]
Advanced

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

[Chicken-janitors] [Chicken-bugs] #401: Sendfile egg barfs on MacOSX 10.


From: Chicken Scheme
Subject: [Chicken-janitors] [Chicken-bugs] #401: Sendfile egg barfs on MacOSX 10.5
Date: Thu, 03 Jan 2008 23:59:03 -0000

#401: Sendfile egg barfs on MacOSX 10.5
----------------------------------------------+-----------------------------
 Reporter:  Vincent Manis <address@hidden>  |        Type:  defect      
   Status:  new                               |    Priority:  major       
Milestone:                                    |   Component:  extensions  
  Version:  2.7                               |    Keywords:  sendfile osx
----------------------------------------------+-----------------------------
 My attempt to install sendfile.egg on my Leopard system failed miserably,
 with complaints about
 the arguments to the (system) {{{sendfile}}} routine. After a small amount
 of investigation, I discovered
 somewhat surprisingly that Leopard's {{{sendfile}}}  (as documented by
 {{{man sendfile}}} on my machine)
 differs from the BSD version.

 '''BSD:'''
 {{{sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr
 *hdtr, off_t *sbytes, int flags);}}}

 '''Darwin 9.0:'''
 {{{int  sendfile(int fd, int s, off_t offset, off_t *len, struct sf_hdtr
 *hdtr, int flags);}}}

 Workaround: I built this egg by manually changing {{{os-dep.h}}} so that
 it unconditionally sets
 {{{HAVE_SENDFILE}}} to 0 on Apple platforms, and it worked well enough
 that I could run Spiffy.

 Desired fix: do something nasty to API designers who create gratuitous
 incompatibilities.

 Practical fix: modify {{{sendfile-implementation.c}}} to add a Darwin-
 specific version of
 {{{sendfile-implementation}}}.

-- 
Ticket URL: <http://trac.callcc.org/ticket/401>
Chicken Scheme <http://www.call-with-current-continuation.org/>
The CHICKEN Scheme-to-C compiler

reply via email to

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