1. 18 Jul, 2016 1 commit
  2. 17 Oct, 2015 1 commit
  3. 31 Oct, 2013 2 commits
    • Andrew Price's avatar
    • Andrew Price's avatar
      Split out the common bits from the client bits: · 94f5a00a
      Andrew Price authored
      - Move as much of mw into src/client/ as possible
      - Make sure everything that mwserv and webclient require is in src/
      - Build a libmw.a from src/*.o to make linking easier
      - Rejig and simplify some Makefile rules
      
      This should help to make it clear which bits of code are shared and which are specific to the UI. We should avoid putting any user interface stuff into libmw.a as a rule.
      
      TODO:
      - Improve some file names (e.g. sqlite.{c,h} is a silly name)
      - Fix building the utils
      - Add sensible svn:ignores to src/client
      
      94f5a00a
  4. 23 May, 2013 1 commit
  5. 01 Oct, 2012 1 commit
  6. 16 Dec, 2009 1 commit
  7. 15 Jul, 2008 1 commit
  8. 23 Mar, 2007 1 commit
  9. 31 Jan, 2007 1 commit
  10. 26 Sep, 2006 1 commit
  11. 27 Feb, 2000 1 commit
    • Steve Hill's avatar
      · ebc76c53
      Steve Hill authored
      Written a fairly advanced set of wrappers to (hopefully) help track
      memory leaks...  They wrap malloc(), realloc(), free() and strdup().
      If USE_WRAPPERS is set to 1 in the Makefile, the wrappers are used, if
      it's set to 0, they aren't, although they seem pretty fast, so it should
      be fine to keep them turned on during development.  Information is stored
      in a linked list:
      
      malloc() and strdup() - these prepend streight to the head of the list,
      so should be pretty fast all the time.
      
      realloc() and free() - since the most recent allocations are at the head
      of the list, these should be fairly fast for memory that has just been
      allocated (the stuff that is mostly going to be free()d or realloc()ed.
      In addition, realloc() keeps a history of past realloc()s for each memory
      block.  When free() is called, this history is nuked, together with the
      information about it ever being allocated.
      
      If you send SIGUSR2 to the process, a list of currently allocated memory
      blocks and any realloc() history will be printed.
      Also, if you start milliways with -exitinfo, this list will be printed
      just before exit (ideally, this list should be empty, showing that
      everything has been free()d, but in reality, Milliways generates a few
      hundred lines of information, so use this option with care).
      
      If the wrappers are turned on, a garbage-colleciton routine will clean
      up when the process exits - not really necessary under Linux, but it's a bit
      nicer than just leaving the OS to do it.
      
      These wrappers are effective in anything that #includes "wrappers.h"
      (currently everything except red.c).  If you create a new c file, it might
      be wise to #include "wrappers.h".
      
       - Steve (bugger, that's the longest CVS message ever :)
      ebc76c53
  12. 03 May, 1999 1 commit