summaryrefslogtreecommitdiff
path: root/include/asterisk/utils.h
diff options
context:
space:
mode:
authorSean Bright <sean@malleable.com>2009-06-08 19:33:09 +0000
committerSean Bright <sean@malleable.com>2009-06-08 19:33:09 +0000
commit8ceb6c5d2081cde2b0888e009d23daeab0d90bdb (patch)
tree237e76a5b17c3e4403c4f7a9c9426b010cae3d2f /include/asterisk/utils.h
parent5965e276a78ec827f8d624789ecd7b0133773466 (diff)
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/trunk@199630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/utils.h')
-rw-r--r--include/asterisk/utils.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h
index cd1c7fa6b..8a37fca34 100644
--- a/include/asterisk/utils.h
+++ b/include/asterisk/utils.h
@@ -349,13 +349,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);