Patch for R10B-5 on Mac OS 10.4 ("Tiger")

Bjorn Gustavsson bjorn@REDACTED
Wed May 11 11:35:51 CEST 2005


I think I have figured out why building of Erlang/OTP fails
on Mac OS X 10.4 ("Tiger").

The problem is that the poll() function exists on Tiger but
is only partially implemented. It does not handle file descriptors
for devices. Therefore, it is useless for Erlang/OTP.

Mac OS X 10.3 ("Panther") also has a poll() function, but it
actually uses the select() call. It works, but using select() directly
is faster.

Below is a simple patch that forces the use of select(). (I have not
actually tested it on Tiger, but I am pretty sure that it should work.)

We plan a more elaborate update to erts/configure in R10B-6, so that it
will actually test for a working poll(). It will probably also disable
poll() if its emulated using select() (as on Panther).

/Bjorn
-- 
Björn Gustavsson, Erlang/OTP, Ericsson AB

*** erts/configure.ORIG	Wed May 11 11:21:48 2005
--- erts/configure	Wed May 11 11:22:01 2005
***************
*** 3692,3698 ****
  
  
  for ac_hdr in fcntl.h limits.h unistd.h syslog.h dlfcn.h ieeefp.h \
!                  poll.h sys/stropts.h \
                   sys/ioctl.h sys/time.h sys/uio.h sys/sockio.h sys/socketio.h \
                   net/errno.h malloc.h mach-o/dyld.h arpa/nameser.h
  do
--- 3692,3698 ----
  
  
  for ac_hdr in fcntl.h limits.h unistd.h syslog.h dlfcn.h ieeefp.h \
!                  sys/stropts.h \
                   sys/ioctl.h sys/time.h sys/uio.h sys/sockio.h sys/socketio.h \
                   net/errno.h malloc.h mach-o/dyld.h arpa/nameser.h
  do
***************
*** 4867,4873 ****
  
  
  for ac_func in ieee_handler fpsetmask finite isnan isinf res_gethostbyname dlopen \
! 		poll pread pwrite writev memmove strerror strerror_r strncasecmp \
  		gethrtime localtime_r gmtime_r mremap memcpy mallopt
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
--- 4867,4873 ----
  
  
  for ac_func in ieee_handler fpsetmask finite isnan isinf res_gethostbyname dlopen \
! 		pread pwrite writev memmove strerror strerror_r strncasecmp \
  		gethrtime localtime_r gmtime_r mremap memcpy mallopt
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6



More information about the erlang-questions mailing list