Author: richter
Date: Wed Jan 4 04:51:31 2006
New Revision: 365904
URL: http://svn.apache.org/viewcvs?rev=365904&view=rev
Log:
Better out of memory handling
Modified:
perl/embperl/trunk/Changes.pod
perl/embperl/trunk/MANIFEST
perl/embperl/trunk/epdom.c
Modified: perl/embperl/trunk/Changes.pod
URL:
http://svn.apache.org/viewcvs/perl/embperl/trunk/Changes.pod?rev=365904&r1=365903&r2=365904&view=diff
==============================================================================
--- perl/embperl/trunk/Changes.pod (original)
+++ perl/embperl/trunk/Changes.pod Wed Jan 4 04:51:31 2006
@@ -15,7 +15,10 @@
once at server startup. Spotted by Derrick Spell.
- Fixed parsing of Cache configuration functions in
httpd.conf. Spotted by Carl Eklof.
-
+ - Added better handling of Out Of Memory condition,
+ i.e. log error end try to clean up instead of
+ segfault.
+
=head1 2.1.0 15. Nov 2005
- Added better UTF-8 support:
Modified: perl/embperl/trunk/MANIFEST
URL:
http://svn.apache.org/viewcvs/perl/embperl/trunk/MANIFEST?rev=365904&r1=365903&r2=365904&view=diff
==============================================================================
--- perl/embperl/trunk/MANIFEST (original)
+++ perl/embperl/trunk/MANIFEST Wed Jan 4 04:51:31 2006
@@ -14,6 +14,7 @@
Embperl/Form/Control/checkbox.pm
Embperl/Form/Control/blank.pm
Embperl/Form/Control/tabs.pm
+Embperl/Form/Control/table.pm
Embperl/Form/Control/transparent.pm
Embperl/Form/Control/radio.pm
Embperl/Form/Control/file.pm
Modified: perl/embperl/trunk/epdom.c
URL:
http://svn.apache.org/viewcvs/perl/embperl/trunk/epdom.c?rev=365904&r1=365903&r2=365904&view=diff
==============================================================================
--- perl/embperl/trunk/epdom.c (original)
+++ perl/embperl/trunk/epdom.c Wed Jan 4 04:51:31 2006
@@ -133,6 +133,13 @@
pMemLast = malloc(sizeof (tPad)) ;
#endif
+ if (pMemLast == NULL)
+ {
+ char buf[256] ;
+ sprintf (buf, "dom_malloc: Out of memory (%u bytes)", sizeof (tPad)) ;
+ mydie (a, buf) ;
+ }
+
nMemUsage += sizeof (tPad) ;
pMemEnd = pMemLast + sizeof (tPad) ;
@@ -235,9 +242,13 @@
else
{
char buf[256] ;
+ /*
sprintf (buf, "%u bytes", n) ;
LogErrorParam (a, rcOutOfMemory, "str_malloc failed", buf) ;
- }
+ */
+ sprintf (buf, "str_malloc: Out of memory (%u bytes)", n + sizeof
(size_t)) ;
+ mydie (a, buf) ;
+ }
return m ;
}
@@ -262,9 +273,13 @@
else
{
char buf[256] ;
+ /*
sprintf (buf, "%u bytes", n) ;
LogErrorParam (a, rcOutOfMemory, "str_malloc_dbg failed", buf) ;
- }
+ */
+ sprintf (buf, "str_malloc: Out of memory (%u bytes)", n + sizeof
(size_t)) ;
+ mydie (a, buf) ;
+ }
return m ;
}
@@ -290,9 +305,13 @@
else
{
char buf[256] ;
+ /*
sprintf (buf, "%zu bytes", n) ;
LogErrorParam (a, rcOutOfMemory, "str_realloc failed", buf) ;
- }
+ */
+ sprintf (buf, "str_realloc: Out of memory (%u bytes)", n + sizeof
(size_t)) ;
+ mydie (a, buf) ;
+ }
return m ;
}
@@ -319,9 +338,13 @@
else
{
char buf[256] ;
+ /*
sprintf (buf, "%zu bytes", n) ;
LogErrorParam (a, rcOutOfMemory, "str_realloc failed", buf) ;
- }
+ */
+ sprintf (buf, "str_realloc: Out of memory (%u bytes)", n + sizeof
(size_t)) ;
+ mydie (a, buf) ;
+ }
return m ;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]