changeset 1696:42c0adb7b2fc

* src/tftp_server.c: * cdl/net.cdl: Made tftp server stack size configurable via cdl.
author asl
date Mon, 02 Aug 2004 10:43:38 +0000
parents 9cfc85f8523f
children 4a515225541b
files packages/net/common/current/ChangeLog packages/net/common/current/cdl/net.cdl packages/net/common/current/src/tftp_server.c
diffstat 3 files changed, 17 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/packages/net/common/current/ChangeLog
+++ b/packages/net/common/current/ChangeLog
@@ -1,3 +1,8 @@
+2004-06-17  Oyvind Harboe  <oyvind.harboe@zylin.com>
+
+	* src/tftp_server.c:
+	* cdl/net.cdl: Made tftp server stack size configurable via cdl.
+
 2004-06-17  Andrew Lunn  <andrew.lunn@ascom.ch>
 
 	* src/ifaddrs.c (getifaddrs): Return destination address for P2P
--- a/packages/net/common/current/cdl/net.cdl
+++ b/packages/net/common/current/cdl/net.cdl
@@ -167,6 +167,17 @@ cdl_package CYGPKG_NET {
             threads can have precedence over TFTP server processing."
         }
 
+        cdl_option CYGPKG_NET_TFTPD_THREAD_STACK_SIZE {
+            display "Stack size for TFTP threads."
+            flavor  data
+            default_value (CYGNUM_HAL_STACK_SIZE_TYPICAL+(3*(SEGSIZE+4)))
+            description   "
+               This option controls the size of the stack used for the 
+               TFTP server. The default should be sufficient for most cases
+               but some applications my require bigger stacks when the 
+               implementation of file operations are complex."
+        }
+
 	cdl_component CYGSEM_NET_TFTPD_MULTITHREADED {
 	    display "Multiple TFTPD server threads on the same port."
 	    flavor  bool
--- a/packages/net/common/current/src/tftp_server.c
+++ b/packages/net/common/current/src/tftp_server.c
@@ -96,7 +96,7 @@ struct tftpd_sem {
 static struct tftpd_sem tftpd_sems[CYGNUM_NET_TFTPD_MULTITHREADED_PORTS];
 #endif //CYGSEM_NET_TFTPD_MULTITHREADED
 
-#define STACK_SIZE (((CYGNUM_HAL_STACK_SIZE_TYPICAL+(3*(SEGSIZE+sizeof(struct tftphdr)))) + CYGARC_ALIGNMENT-1) & ~(CYGARC_ALIGNMENT-1))
+#define STACK_SIZE (((CYGPKG_NET_TFTPD_THREAD_STACK_SIZE) + CYGARC_ALIGNMENT-1) & ~(CYGARC_ALIGNMENT-1))
 static char *TFTP_tag = "TFTPD";
 #define CYGNUM_NET_MAX_INET_PROTOS 2
 struct tftp_server {