view netinstall/resource.h @ 5169:6c6d78781d59

cleanup of code related to xfree(), better KKCC backtrace capabilities, document XD_INLINE_LISP_OBJECT_BLOCK_PTR, fix some memory leaks, other code cleanup -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-03-24 Ben Wing <ben@xemacs.org> * array.h: * array.h (XD_LISP_DYNARR_DESC): * dumper.c (pdump_register_sub): * dumper.c (pdump_store_new_pointer_offsets): * dumper.c (pdump_reloc_one_mc): * elhash.c: * gc.c (lispdesc_one_description_line_size): * gc.c (kkcc_marking): * lrecord.h: * lrecord.h (IF_NEW_GC): * lrecord.h (enum memory_description_type): * lrecord.h (enum data_description_entry_flags): * lrecord.h (struct opaque_convert_functions): Rename XD_LISP_OBJECT_BLOCK_PTR to XD_INLINE_LISP_OBJECT_BLOCK_PTR and document it in lrecord.h. * data.c: * data.c (finish_marking_weak_lists): * data.c (continue_marking_ephemerons): * data.c (finish_marking_ephemerons): * elhash.c (MARK_OBJ): * gc.c: * gc.c (lispdesc_indirect_count_1): * gc.c (struct): * gc.c (kkcc_bt_push): * gc.c (kkcc_gc_stack_push): * gc.c (kkcc_gc_stack_push_lisp_object): * gc.c (kkcc_gc_stack_repush_dirty_object): * gc.c (KKCC_DO_CHECK_FREE): * gc.c (mark_object_maybe_checking_free): * gc.c (mark_struct_contents): * gc.c (mark_lisp_object_block_contents): * gc.c (register_for_finalization): * gc.c (mark_object): * gc.h: * lisp.h: * profile.c: * profile.c (mark_profiling_info_maphash): Clean up KKCC code related to DEBUG_XEMACS. Rename kkcc_backtrace() to kkcc_backtrace_1() and add two params: a `size' arg to control how many stack elements to print and a `detailed' arg to control whether Lisp objects are printed using `debug_print()'. Create front-ends to kkcc_backtrace_1() -- kkcc_detailed_backtrace(), kkcc_short_backtrace(), kkcc_detailed_backtrace_full(), kkcc_short_backtrace_full(), as well as shortened versions kbt(), kbts(), kbtf(), kbtsf() -- to call it with various parameter values. Add an `is_lisp' field to the stack and backtrace structures and use it to keep track of whether an object pushed onto the stack is a Lisp object or a non-Lisp structure; in kkcc_backtrace_1(), don't try to print a non-Lisp structure as a Lisp object. * elhash.c: * extents.c: * file-coding.c: * lrecord.h: * lrecord.h (IF_NEW_GC): * marker.c: * marker.c (Fmarker_buffer): * mule-coding.c: * number.c: * rangetab.c: * specifier.c: New macros IF_OLD_GC(), IF_NEW_GC() to simplify declaration of Lisp objects when a finalizer may exist in one but not the other. Use them appropriately. * extents.c (finalize_extent_info): Don't zero out data->soe and data->extents before trying to free, else we get memory leaks. * lrecord.h (enum lrecord_type): Make the first lrecord type have value 1 not 0 so that 0 remains without implementation and attempts to interpret zeroed memory as a Lisp object will be more obvious. * array.c (Dynarr_free): * device-msw.c (msprinter_delete_device): * device-tty.c (free_tty_device_struct): * device-tty.c (tty_delete_device): * dialog-msw.c (handle_directory_dialog_box): * dialog-x.c: * emacs.c (free_argc_argv): * emodules.c (attempt_module_delete): * file-coding.c (chain_finalize_coding_stream_1): * file-coding.c (chain_finalize_coding_stream): * glyphs-eimage.c: * glyphs-eimage.c (jpeg_instantiate_unwind): * glyphs-eimage.c (gif_instantiate_unwind): * glyphs-eimage.c (png_instantiate_unwind): * glyphs-eimage.c (tiff_instantiate_unwind): * imgproc.c: * imgproc.c (build_EImage_quantable): * insdel.c (uninit_buffer_text): * mule-coding.c (iso2022_finalize_detection_state): * objects-tty.c (tty_finalize_color_instance): * objects-tty.c (tty_finalize_font_instance): * objects-tty.c (tty_font_list): * process.c: * process.c (finalize_process): * redisplay.c (add_propagation_runes): * scrollbar-gtk.c: * scrollbar-gtk.c (gtk_free_scrollbar_instance): * scrollbar-gtk.c (gtk_release_scrollbar_instance): * scrollbar-msw.c: * scrollbar-msw.c (mswindows_free_scrollbar_instance): * scrollbar-msw.c (unshow_that_mofo): * scrollbar-x.c (x_free_scrollbar_instance): * scrollbar-x.c (x_release_scrollbar_instance): * select-x.c: * select-x.c (x_handle_selection_request): * syntax.c: * syntax.c (uninit_buffer_syntax_cache): * text.h (eifree): If possible, whenever we call xfree() on a field in a structure, set the field to 0 afterwards. A lot of code is written so that it checks the value being freed to see if it is non-zero before freeing it -- doing this and setting the value to 0 afterwards ensures (a) we won't try to free twice if the cleanup code is called twice; (b) if the object itself stays around, KKCC won't crash when attempting to mark the freed field. * rangetab.c: Add a finalization method when not NEW_GC to avoid memory leaks. (#### We still get memory leaks when NEW_GC; need to convert gap array to Lisp object).
author Ben Wing <ben@xemacs.org>
date Wed, 24 Mar 2010 01:22:51 -0500
parents 943eaba38521
children
line wrap: on
line source

//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by res.rc
//
#define IDS_ROOT_SLASH                  1
#define IDS_ROOT_SPACE                  2
#define IDS_CWD_NONEMPTY                3
#define IDS_MIRROR_LST                  6
#define IDS_DIALOG_FAILED               7
#define IDS_CYGWIN_FUNC_MISSING         8
#define IDS_DOWNLOAD_SHORT              9
#define IDS_ERR_OPEN_WRITE              10
#define IDS_SETUPINI_MISSING            11
#define IDS_OLD_SETUPINI                12
#define IDS_ERR_RENAME                  13
#define IDS_NOTHING_INSTALLED           14
#define IDS_INSTALL_COMPLETE            15
#define IDS_ERR_OPEN_READ               16
#define IDS_ROOT_ABSOLUTE               17
#define IDS_DOWNLOAD_COMPLETE           18
#define IDS_CVSID                       19
#define IDS_NOLOGFILE                   20
#define IDS_UNINSTALL_COMPLETE          21
#define IDS_WININET                     22
#define IDS_ERR_CHDIR                   23
#define IDS_OLD_SETUP_VERSION           24
#define IDS_DOWNLOAD_FAILED             25
#define IDS_DOWNLOAD_INCOMPLETE         26
#define IDS_INSTALL_INCOMPLETE          27
#define IDS_ROOT_NOCYGWIN               28
#define IDS_CREATE_DIR   29
#define IDD_ROOT                        101
#define IDD_SOURCE                      102
#define IDD_OTHER_URL                   103
#define IDD_SITE                        104
#define IDD_NET                         105
#define IDD_DLSTATUS                    106
#define IDD_S_LOAD_INI                  107
#define IDD_S_FROM_CWD                  108
#define IDD_CHOOSE                      109
#define IDD_S_DOWNLOAD                  110
#define IDD_S_INSTALL                   111
#define IDD_INSTATUS                    112
#define IDD_DESKTOP                     113
#define IDD_PROXY_AUTH                  114
#define IDD_S_POSTINSTALL               115
#define IDD_NET_AUTH                    116
#define IDD_SPLASH                      117
#define IDB_SPIN                        118
#define IDB_RTARROW                     119
#define IDI_SPIN                        120
#define IDI_XEMACS                      121
#define IDD_LOCAL_DIR                   122
#define IDB_CHECK_YES                   123
#define IDB_CHECK_NO                    124
#define IDB_CHECK_NA                    125
#define IDB_GNU                         126
#define IDD_UNINSTALL                   127
#define IDC_SOURCE_DOWNLOAD             1000
#define IDC_SOURCE_NETINST              1001
#define IDC_SOURCE_CWD                  1002
#define IDC_ROOT_DIR                    1003
#define IDC_ROOT_BROWSE                 1004
#define IDC_ROOT_TEXT                   1005
#define IDC_ROOT_BINARY                 1006
#define IDC_URL_LIST                    1007
#define IDC_SITE_NEXT                   1008
#define IDC_BACK                        1009
#define IDC_OTHER_URL                   1010
#define IDC_NET_IE5                     1011
#define IDC_NET_DIRECT                  1012
#define IDC_NET_PROXY                   1013
#define IDC_PROXY_HOST                  1014
#define IDC_PROXY_PORT                  1015
#define IDC_PROXY_USER                  1016
#define IDC_DLS_PROGRESS                1019
#define IDC_DLS_URL                     1020
#define IDC_DLS_RATE                    1021
#define IDC_INS_PKG                     1022
#define IDC_INS_FILE                    1023
#define IDC_INS_DISKFULL                1024
#define IDC_INS_IPROGRESS               1025
#define IDC_INS_PPROGRESS               1026
#define IDC_ROOT_SYSTEM                 1028
#define IDC_ROOT_USER                   1029
#define IDC_NET_USER                    1030
#define IDC_NET_PASSWD                  1031
#define IDC_VERSION                     1033
#define IDC_LISTVIEW_POS                1034
#define IDC_CHOOSE_FULLPART             1035
#define IDC_CHOOSE_EXP                  1036
#define IDC_CHOOSE_CURR                 1037
#define IDC_CHOOSE_PREV                 1038
#define IDC_CHOOSE_LIST                 1039
#define IDC_INS_ACTION                  1040
#define IDC_ROOT_DESKTOP                1041
#define IDC_ROOT_MENU                   1042
#define IDC_LOCAL_DIR_BROWSE            1043
#define IDC_TXT_TYPE                    1043
#define IDC_LOCAL_DIR                   1044
#define IDC_JAVA_TYPE                   1044
#define IDC_INSTALL_NATIVE              1045
#define IDC_C_TYPE                      1045
#define IDC_INSTALL_CYGWIN              1046
#define IDC_CPP_TYPE                    1046
#define IDC_UNINS_PKG                   1047
#define IDC_ELISP_TYPE                  1047
#define IDC_UNINS_FILE                  1048
#define IDC_IDL_TYPE                    1048
#define IDC_UNINS_DISKFULL              1049
#define IDC_UNINS_IPROGRESS             1050
#define IDC_UNINS_PPROGRESS             1051
#define IDC_UNINS_ACTION                1052
#define IDC_STATIC                      -1

// Next default values for new objects
// 
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC                     1
#define _APS_3D_CONTROLS                     1
#define _APS_NEXT_RESOURCE_VALUE        127
#define _APS_NEXT_COMMAND_VALUE         40003
#define _APS_NEXT_CONTROL_VALUE         1050
#define _APS_NEXT_SYMED_VALUE           101
#endif
#endif