~ubuntu-branches/ubuntu/trusty/erlang/trusty

« back to all changes in this revision

Viewing changes to erts/etc/unix/run_erl.c

  • Committer: Bazaar Package Importer
  • Author(s): Clint Byrum
  • Date: 2011-05-05 15:48:43 UTC
  • mfrom: (3.5.13 sid)
  • Revision ID: james.westby@ubuntu.com-20110505154843-0om6ekzg6m7ugj27
Tags: 1:14.b.2-dfsg-3ubuntu1
* Merge from debian unstable.  Remaining changes:
  - Drop libwxgtk2.8-dev build dependency. Wx isn't in main, and not
    supposed to.
  - Drop erlang-wx binary.
  - Drop erlang-wx dependency from -megaco, -common-test, and -reltool, they
    do not really need wx. Also drop it from -debugger; the GUI needs wx,
    but it apparently has CLI bits as well, and is also needed by -megaco,
    so let's keep the package for now.
  - debian/patches/series: Do what I meant, and enable build-options.patch
    instead.
* Additional changes:
  - Drop erlang-wx from -et
* Dropped Changes:
  - patches/pcre-crash.patch: CVE-2008-2371: outer level option with
    alternatives caused crash. (Applied Upstream)
  - fix for ssl certificate verification in newSSL: 
    ssl_cacertfile_fix.patch (Applied Upstream)
  - debian/patches/series: Enable native.patch again, to get stripped beam
    files and reduce the package size again. (build-options is what
    actually accomplished this)
  - Remove build-options.patch on advice from upstream and because it caused
    odd build failures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
 * %CopyrightBegin%
3
3
 * 
4
 
 * Copyright Ericsson AB 1996-2009. All Rights Reserved.
 
4
 * Copyright Ericsson AB 1996-2010. All Rights Reserved.
5
5
 * 
6
6
 * The contents of this file are subject to the Erlang Public License,
7
7
 * Version 1.1, (the "License"); you may not use this file except in
75
75
#ifdef HAVE_SYS_IOCTL_H
76
76
#  include <sys/ioctl.h>
77
77
#endif
 
78
#if defined(__sun) && defined(__SVR4)
 
79
#  include <stropts.h>
 
80
#endif
78
81
 
79
82
#include "run_erl.h"
80
83
#include "safe_string.h"    /* sn_printf, strn_cpy, strn_cat, etc */
864
867
 
865
868
/* Use the posix_openpt if working, as this guarantees creation of the 
866
869
   slave device properly. */
867
 
#ifdef HAVE_WORKING_POSIX_OPENPT
 
870
#if defined(HAVE_WORKING_POSIX_OPENPT) || (defined(__sun) && defined(__SVR4))
 
871
#  ifdef HAVE_WORKING_POSIX_OPENPT
868
872
  if ((mfd = posix_openpt(O_RDWR)) >= 0) {
 
873
#  elif defined(__sun) && defined(__SVR4)
 
874
  if ((mfd = open("/dev/ptmx", O_RDWR)) >= 0) {
 
875
#  endif
869
876
      if ((*ptyslave = ptsname(mfd)) != NULL &&
870
877
          grantpt(mfd) == 0 && 
871
878
          unlockpt(mfd) == 0) {
981
988
    return -1;
982
989
  }
983
990
 
 
991
#if defined(__sun) && defined(__SVR4)
 
992
  /* Load the necessary STREAMS modules for Solaris */
 
993
  if ((ioctl(sfd, I_FIND, "ldterm")) < 0) {
 
994
    ERROR0(LOG_ERR, "Failed to find ldterm STREAMS module");
 
995
    return -1;
 
996
  }
 
997
  if (ioctl(sfd, I_PUSH, "ptem") < 0) {
 
998
    ERROR0(LOG_ERR, "Failed to push ptem STREAMS module");
 
999
    return -1;
 
1000
  }
 
1001
  if (ioctl(sfd, I_PUSH, "ldterm") < 0) {
 
1002
    ERROR0(LOG_ERR, "Failed to push ldterm STREAMS module");
 
1003
    return -1;
 
1004
  }
 
1005
  if (ioctl(sfd, I_PUSH, "ttcompat") < 0) {
 
1006
    ERROR0(LOG_ERR, "Failed to push ttcompat STREAMS module");
 
1007
    return -1;
 
1008
  }
 
1009
#endif
 
1010
 
984
1011
#ifdef DEBUG
985
 
  if (tcgetattr(sfd, &tty_rmode) , 0) {
 
1012
  if (tcgetattr(sfd, &tty_rmode) < 0) {
986
1013
    fprintf(stderr, "Cannot get terminals current mode\n");
987
1014
    exit(-1);
988
1015
  }