Summary: | re-implement -K commandline option to limit memory usage | ||
---|---|---|---|
Product: | GhostPCL | Reporter: | norbert.janssen |
Component: | PCL interpreter | Assignee: | Henry Stiles <henry.stiles> |
Status: | NOTIFIED FIXED | ||
Severity: | normal | ||
Priority: | P4 | ||
Version: | master | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Customer: | 661 | Word Size: | --- |
Description
norbert.janssen
2010-06-15 09:58:47 UTC
see also 691374 and 691378. Added to rev. 11384. There will likely be follow on bugs where return values aren't propagated correctly. I am not sure if you (Norbert) want to add those to this bug or open new bugs. in plmain.c the 'K' option should have an #ifndef HEAP_ALLOCATOR_ONLY around it. Or use the old gs_malloc_wrapped_contents() (iff HEAP_ALLOCATOR_ONLY is defined). #ifdef HEAP_ALLOCATOR_ONLY rawheap = (gs_malloc_memory_t *)gs_malloc_wrapped_contents(pmi->memory); #else rawheap = (gs_malloc_memory_t *)gs_memory_chunk_target(pmi->memory)->non_gc_memory; #endif If in hpgl a malloc (e.g. hpgl_clear_current_path()) fails, this is noted with the hpgl_call(), but hpgl_call() itself does not propagate the error (just 0). So further on when the path is accessed, ... crash. (In reply to comment #4) > If in hpgl a malloc (e.g. hpgl_clear_current_path()) fails, this is noted with > the hpgl_call(), but hpgl_call() itself does not propagate the error (just 0). > So further on when the path is accessed, ... crash. In debug mode the macro hpgl_call() calls hpgl_print_error() that prints a message and returns the error code, in production build it just returns the code. (In reply to comment #3) > in plmain.c the 'K' option should have an #ifndef HEAP_ALLOCATOR_ONLY around > it. Or use the old gs_malloc_wrapped_contents() (iff HEAP_ALLOCATOR_ONLY is > defined). > > #ifdef HEAP_ALLOCATOR_ONLY > rawheap = (gs_malloc_memory_t *)gs_malloc_wrapped_contents(pmi->memory); > #else > rawheap = (gs_malloc_memory_t > *)gs_memory_chunk_target(pmi->memory)->non_gc_memory; > #endif Added in revision 11421. -K is implemented, though I would like to have also a 'garbage-collection' mechanism that releases memory that was needed to print pages (intermediat buffers, rasterized characterbitmaps etc.) I.e. not the download resources (fonts/macros). (In reply to comment #7) > -K is implemented, though I would like to have also a 'garbage-collection' > mechanism that releases memory that was needed to print pages (intermediat > buffers, rasterized characterbitmaps etc.) I.e. not the download resources > (fonts/macros). But I think this could be handled with 691378. So this can also be closed. Changing customer bugs that have been resolved more than a year ago to closed. |