2014-03-31 07:25 UTC+0200 Aleksander Czajczynski (hb fki.pl)
  * contrib/rddsql/sqlbase.c
  * contrib/rddsql/sqlmix.c
    + added ZAP functionality to SQLBASE and SQLMIX RDDs
2014-04-01 12:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * src/rtl/filebuf.c
    ! unlock HVM stack before locking local mutex and calling hb_fs*()
      functions which also unlocks HVM. It fixes possible deadlock condition
      when hb_gcAll( .T. ) is executed.

  * include/hbapi.h
  * src/vm/garbage.c
    ! changed mark function semantic.
      Adding support for user defined mark function I created race condition
      in MT GC code. It happens because blocks marked as deleted were not
      scanned by GC mark code so their subitems where not accessible.
      To fix it we have to change mark function semantic. Now mark function
      can be executed also for blocks currently deleted. It means that GC
      block destructor should clean references to just removed items and
      subblocks. The best place to make it is clearing pointers to GC blocks
      just after hb_itemRelease() or hb_gcRefFree().
      It is save to clean the reference just before hb_itemRelease() or
      hb_gcRefFree() but only for the single block passed to these functions.
      It is not save to clear reference to more then one block and then
      execute above functions.
    + check reference count after destructor execution for all blocks
      not only arrays - warning it may exploit some wrong C code.
    - removed not longer used hb_gcRefCheck() function.

  * include/hbvm.h
  * src/vm/hvm.c
    + added new internal function hb_vmLockForce()
    ! fixed to mark GC blocks with active threads

  * src/vm/thread.c
  * include/hbthread.h
    % modified sync mutexes used by xBase++ signal class emulation
      to not use item array internally
    * updated mutex destructor to new GC mark semantic
    ! mark GT items if GT is bound with thread item
    ! fixed mutex notify/subscribe code to not change GC items
      when HVM stack is unlocked
    ! use hb_vmLockForce() to eliminate potential deadlock
    + added new C function hb_threadEnterCriticalSectionGC().
      It should be used instead of hb_threadEnterCriticalSection()
      in code which manipulates GC items inside critical section.
      It's slower but eliminates possible deadlock condition.
      Please remember that remember that both functions cannot
      be used for the same mutex. So if it's necessary to use
      hb_threadEnterCriticalSectionGC() in one place then it
      has to be used in all others when the same mutex is locked.

  * src/vm/arrays.c
  * src/vm/codebloc.c
  * src/vm/hashes.c
  * src/rtl/hbgtcore.c
  * contrib/hbcurl/core.c
  * contrib/hbexpat/core.c
    * updated destructors to new GC mark semantic

  * contrib/hbxpp/dllx.c
    ! fixed destructor for pointer item created by DllPrepareCall()
      Now it respects reference counter.
    ; added note about real behavior of library handle destructor,
      I haven't changed existing code behavior but maybe it should
      be done.

  * contrib/xhb/hbserv.c
  * src/debug/dbgentry.c
  * src/rdd/wacore.c
    ! fixed possible deadlocks by using hb_threadEnterCriticalSectionGC()
      instead of hb_threadEnterCriticalSection().

  * contrib/hbmemio/memio.c
    ! slightly modified hb_memfsDirectory() code to avoid race condition
      without using hb_threadEnterCriticalSectionGC()

  * src/vm/fm.c
    % reduce the lock range in HB_FM_STAT builds

  * src/rtl/hbsocket.c
    ! added missing HVM stack unlocking in hb_socketSelect() function

  * src/rtl/gtxwc/gtxwc.c
    ! added few missing locks for version compiled with HB_XWC_XLIB_NEEDLOCKS

  * src/rdd/dbtotal.prg
    * allow to use symbols instead of codeblocks
    * modified Harbour extension which uses ordKey() as default group
      signature to work also without index. In such case all records
      are summarized into single one.

  ; Most of above modifications were critical for stability of MT programs.
    They should allow to activate GC in any place.
2014-04-02 08:31 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * src/vm/hashes.c
    ! added missing HB_STACK_TLS_PRELOAD
2014-04-02 12:46 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * src/rtl/filebufd.c
  * src/rtl/iousr.c
    * slightly modified code to pacify warnings in some older GCC versions

  * contrib/gtwvg/gtwvg.hbx
    * regenerated with new function
2014-04-02 22:52 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * contrib/hbnetio/netiosrv.c
    ! fixed very bad bug in one of recent modifications which completely
      broke all servers using early authentication by netio_VerifyClient()
2014-04-03 12:17 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * contrib/hbnetio/netiosrv.c
    ! added missing condition to interrupt broken client connections
2014-04-03 14:26 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * contrib/hbnetio/netiosrv.c
    * fully consume RPC messages even if RPC is disabled. It allows to
      continue client connection in such case and process next messages.
2014-04-11 17:36 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    * overload inputMethodEvent() in console object and insert
      commitString() data into GT keyboard input queue.
      It's necessary for Android working with SoftwareInputPanel
      and it fixes problem with eaten standard characters.
      QT documentation says that QInputMethodEvent are generated
      only when Qt::WA_InputMethodEnabled attribute is set but
      tests shows that it's not true and these events are generated
      instead of keyPress/keyRelease ones for simple text input.
      CTRL modifier, ESC, INS, HOME, END, PGUP, PGDN and Fn keys
      still does not work with GTQTC in Android builds.

  * src/rtl/tbrowse.prg
    ! fixed compilation with HB_BRW_STATICMOUSE
    ! do not cover dummy ivar with HB_COMPAT_C53 macro
    * minor simplification

  * src/vm/arrays.c
    * removed old commented code not used with current GC
2014-05-04 21:23 UTC+0200 Aleksander Czajczynski (hb fki.pl)
  * contrib/rddsql/sqlmix.c
    ! my previous attempt to recreate index tags after zapping SQLMIX
      database failed, causing corruption and random GPFs. For now
      let's fall back to ORDLSTCLEAR. It may be incompatible with
      other RDDs.
Merge branch 'master' of https://github.com/harbour/core

Conflicts:
	ChangeLog.txt
2014-05-04 22:04 UTC+0200 Aleksander Czajczynski (hb fki.pl)
  * config/win/msvc.mk
    ! there is no Platform SDK util detection mechanism. -nologo option
      does not exist in SDK rc.exe

  * utils/hbmk2/hbmk2.rc
    ! Platform SDK rc.exe ver 5.2.3690.0 complains about .ico
      file format format (OLDDIB?)
2014-05-04 22:08 UTC+0200 Aleksander Czajczynski (hb fki.pl)
  ; applied SDDSQLT3 fix from Viktor Szakats fork - thanks
  ; https://github.com/vszakats/harbour-core/commit/91890deb5e061dc9f9da0a2388a76b3916a7eab8
  ;
  ; 2013-11-08 21:43 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
  ; * contrib/sddsqlt3/core.c
  ;   ! fixed missing first record of query