]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 199630 via svnmerge from
authorSean Bright <sean@malleable.com>
Mon, 8 Jun 2009 19:39:24 +0000 (19:39 +0000)
committerSean Bright <sean@malleable.com>
Mon, 8 Jun 2009 19:39:24 +0000 (19:39 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

................
  r199630 | seanbright | 2009-06-08 15:33:09 -0400 (Mon, 08 Jun 2009) | 32 lines

  Merged revisions 199626,199628 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.4

  ........
    r199626 | seanbright | 2009-06-08 15:24:32 -0400 (Mon, 08 Jun 2009) | 21 lines

    Increase the size of our thread stack on 64 bit processors.

    We were setting the stack size for each thread to 240KB regardless of
    architecture, which meant that in some scenarios we actually had less available
    stack space on 64 bit processors (pointers use 8 bytes instead of 4).  So now we
    calculate the stack size we reserve based on the platform's __WORDSIZE, which
    gives us:

         32 bit -> 240KB
         64 bit -> 496KB
        128 bit -> 1008KB (that's right, we're ready for 128 bit processors)

    Patch typed by me but written by several members of #asterisk-dev, including
    Kevin, Tilghman, and Qwell.

    (closes issue #14932)
    Reported by: jpiszcz
    Patches:
          06052009_issue14932.patch uploaded by seanbright (license 71)
    Tested by: seanbright
  ........
    r199628 | seanbright | 2009-06-08 15:28:33 -0400 (Mon, 08 Jun 2009) | 2 lines

    Fix a typo in the stack size calculation just introduced.
  ........
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@199633 65c4cc65-6c06-0410-ace0-fbb531ad65f3

include/asterisk/utils.h

index cb150ae4eb401bed379387a074789250a9f5b91e..05f15ac384cc1fdbcfbdb513d7666f8e55cf61f4 100644 (file)
@@ -348,13 +348,13 @@ int ast_careful_fwrite(FILE *f, int fd, const char *s, size_t len, int timeoutms
 /*
  * Thread management support (should be moved to lock.h or a different header)
  */
-#define AST_STACKSIZE 240 * 1024
+
+#define AST_STACKSIZE (((__WORDSIZE * 8) - 16) * 1024)
 
 #if defined(LOW_MEMORY)
-#define AST_BACKGROUND_STACKSIZE 48 * 1024
+#define AST_BACKGROUND_STACKSIZE (((__WORDSIZE * 2) - 16) * 1024)
 #else
-#define AST_BACKGROUND_STACKSIZE 240 * 1024
+#define AST_BACKGROUND_STACKSIZE AST_STACKSIZE
 #endif
 
 void ast_register_thread(char *name);