OS X patch for run_erl.c

Jouni Rynö Jouni.Ryno@REDACTED
Tue Dec 7 11:43:59 CET 2004


I still have the problem with Linux 2.6 kernel and udev etc,
run_erl [19205] Tue Dec  7 12:40:01 2004
Could not open pty master

Fixed it with my own version of it, with a call to

 #include <pty.h>
 #include <utmp.h>

 {
     static char ttyname[] = "                                   ";

     if (0 == openpty(&mfd, &sfd, ttyname, NULL, NULL)) {
       *ptyslave = ttyname;
       return mfd;
     }
   }


On Mon, 2004-12-06 at 14:14 +0100, Bjorn Gustavsson wrote:
> Thanks!
> 
> We have look at this issue. I can't promise we'll be able to do that
> for R10B-2.
> 
> /Bjorn
> 
> "Peter L" <erlang@REDACTED> writes:
> 
> > This Sunday I discovered that my FreeBSD 4.3 had exactly the same
> > problem as Sean had in his OS X, with mknod/mkfifo in the run_erl.c
> > file. When I applied the same patch as Sean did I was able to start
> > erlang as a daemon, which I had not been able to do before on FreeBSD.
> > 
> > Looking at this file run_erl.c in the latest R10B-1a version of
> > OTP/Erlang, I was still unable to see any fix for this problem,
> > despite it being well over a year since Sean reported the problem
> > the first time.
> > 
> > Is it in Erlang or in FreeBSD / OS X, where the problem needs to be
> > fixed? Because I guess that Erlang is supposed to support also OS X
> > and FreeBSD...
> > 
> > A maybe related problem I had, was that I was not able to attach
> > properly to the erlang daemon with the supplied bin/to_erl. Is there
> > perhaps another fix that has to be applied for this to work under
> > FreeBSD or OS X? Sean, any idea?
> > 
> > /Peter
> > 
> > %% ============ From the erlang list archive ===============
> > 
> >     * To: Bengt Kleberg
> >     * Subject: Re: OS X patch for run_erl.c
> >     * From: Sean Hinde
> >     * Date: Fri, 19 Sep 2003 23:46:54 +0100
> >     * Cc: Erlang Questions
> > 
> > On Monday, September 15, 2003, at 09:07  am, Bengt Kleberg wrote:
> > 
> > > Sean Hinde wrote:
> > >> Hi,
> > >> The following patch to run_erl.c is required for Erlang to run in
> > >> embedded mode under OS X. Without this patch run_erl fails to create
> > >> the
> > >
> > > ...deleted
> > >> +#ifdef HAVE_MACH_O_DYLD_H
> > >> +  if ((mkfifo(name, perm) < 0) && (errno != EEXIST))
> > >> +#else
> > >> +    if ((mknod(name, S_IFIFO | perm, 0) < 0) && (errno != EEXIST))
> > >> +#endif
> > >
> > > perhaps mkfifo() is deprecated (or something even worse :-), but would
> > > it not have been better to test like this:
> > >
> > > #ifdef HAVE_MKFIFO
> > > 	if ((mkfifo(name, perm) < 0) && (errno != EEXIST))
> > > #else
> > > 	if ((mknod(name, S_IFIFO | perm, 0) < 0) && (errno != EEXIST))
> > > #endif
> > >
> > 
> > No doubt. I leave it to the real maintainers of Erlang to take care of
> > elegance in the build process. All this difficult cross platform C
> > stuff is light years from anything I claim competence in, beyond the
> > annoying necessity to occasionally waste many hours making Erlang work
> > on my favourite laptop :)
> > 
> > Sean
> > 
> > 
> > -- 
> > Peter Lund
> > Web: http://lundata.se
> > Tel: +46 70 543 9416
> > 
> 
-- 

  Jouni Rynö                            mailto://Jouni.Ryno@fmi.fi/
                                        http://www.geo.fmi.fi/~ryno/
  Finnish Meteorological Institute      http://www.fmi.fi/
  Space Research                        http://www.geo.fmi.fi/
  P.O.BOX 503                           Tel      (+358)-9-19294656
  FIN-00101 Helsinki                    FAX      (+358)-9-19294603
  Finland                               priv-GSM (+358)-50-5302903
  
  "It's just zeros and ones, it cannot be hard"





More information about the erlang-questions mailing list