guile-devel
[Top][All Lists]
Advanced

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

request review: branch "wingo"


From: Andy Wingo
Subject: request review: branch "wingo"
Date: Fri, 27 Mar 2009 16:29:55 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.91 (gnu/linux)

Hi,

On the "wingo" branch in the main repository, you will find the
following patches:

    The following changes since commit 0fe95f9c4ce063781e79a15bc123c57c33ef9755:
      Ludovic Courtès (1):
            Improve wording in `libguile/Makefile.am' regarding stack 
calibration.

    are available in the git repository at:

      git.sv.gnu.org:/srv/git/guile.git wingo

    Andy Wingo (7):
          allow building against uninstalled guile; move some things to meta/
          add getrlimit and setrlimit wrappers
          getrlimit-based stack limits
          rely on getrlimit to DTRT, don't make stack calibration file
          fix check for guile-tools running uninstalled
          fix "linking" of guile-config
          fix distcheck hopefully, by cleaning the vm-i-*.i files

     .gitignore                                         |    1 -
     Makefile.am                                        |    9 +-
     README                                             |   20 ++-
     am/guilec                                          |    4 +-
     am/pre-inst-guile                                  |    2 +-
     check-guile.in                                     |    5 +-
     configure.in                                       |   16 +-
     doc/ref/Makefile.am                                |    4 +-
     gc-benchmarks/run-benchmark.scm                    |    2 +-
     libguile/Makefile.am                               |   25 +---
     libguile/debug.c                                   |   36 ++++
     libguile/measure-hwm.scm                           |  136 ---------------
     libguile/posix.c                                   |  174 
++++++++++++++++++++
     libguile/posix.h                                   |    2 +
     {guile-config => meta}/ChangeLog-2008              |    0 
     {guile-config => meta}/Makefile.am                 |   25 +--
     .../gdb-uninstalled-guile.in                       |   10 +-
     meta/guile-1.8-uninstalled.pc.in                   |    8 +
     guile-1.8.pc.in => meta/guile-1.8.pc.in            |    0 
     {guile-config => meta}/guile-config.in             |    7 +-
     guile-tools.in => meta/guile-tools.in              |    2 +-
     pre-inst-guile.in => meta/guile.in                 |    6 +-
     {guile-config => meta}/guile.m4                    |    0 
     pre-inst-guile-env.in => meta/uninstalled-env.in   |   17 ++-
     test-suite/standalone/Makefile.am                  |    2 +-
     test-suite/standalone/README                       |    2 +-
     test-suite/standalone/test-fast-slot-ref.in        |    2 +-
     test-suite/standalone/test-use-srfi.in             |    6 +-
     testsuite/Makefile.am                              |    2 +-
     29 files changed, 299 insertions(+), 226 deletions(-)
     delete mode 100644 libguile/measure-hwm.scm
     rename {guile-config => meta}/ChangeLog-2008 (100%)
     rename {guile-config => meta}/Makefile.am (59%)
     rename gdb-pre-inst-guile.in => meta/gdb-uninstalled-guile.in (79%)
     create mode 100644 meta/guile-1.8-uninstalled.pc.in
     rename guile-1.8.pc.in => meta/guile-1.8.pc.in (100%)
     rename {guile-config => meta}/guile-config.in (98%)
     rename guile-tools.in => meta/guile-tools.in (98%)
     rename pre-inst-guile.in => meta/guile.in (93%)
     rename {guile-config => meta}/guile.m4 (100%)
     rename pre-inst-guile-env.in => meta/uninstalled-env.in (87%)

The patches fix distcheck again, but the interesting one is
ec900eacb71bbf66b85a5605f67f83b43f2c6ca8, which does this in debug.c:

    @@ -513,11 +518,42 @@ SCM_DEFINE (scm_debug_hang, "debug-hang", 0, 1, 0,
     #undef FUNC_NAME
     #endif
     
    +static void
    +init_stack_limit (void)
    +{
    +#ifdef HAVE_GETRLIMIT
    +  struct rlimit lim;
    +  if (getrlimit (RLIMIT_STACK, &lim) == 0)
    +      {
    +        int bytes = lim.rlim_cur, words;
    +
    +        /* set our internal stack limit to 1 MB or 80% of the rlimit, 
whichever
    +           is lower. */
    +        if (bytes == RLIM_INFINITY)
    +          bytes = lim.rlim_max;
    +
    +        if (bytes == RLIM_INFINITY)
    +          words = 1024 * 1024 / sizeof (scm_t_bits);
    +        else
    +          {
    +            bytes = bytes * 8 / 10;
    +            if (bytes > 1024 * 1024)
    +              bytes = 1024 * 1024;
    +            words = bytes / sizeof (scm_t_bits);
    +          }
    +
    +        SCM_STACK_LIMIT = words;
    +      }
    +  errno = 0;
    +#endif
    +}
    +

     
     void
     scm_init_debug ()
     {
    +  init_stack_limit ();
       scm_init_opts (scm_debug_options, scm_debug_opts);
    [...]

Comments? OK to merge to master?

Andy
-- 
http://wingolog.org/




reply via email to

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