Commit Graph

5265 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
aba8190d72 2008-09-29 13:59 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rdd/workarea.c
    * added protection against multiple registering RDD with the same
      name by *_GETFUNCTABLE() in ST/MT mode or other thread in MT mode
2008-09-29 12:00:11 +00:00
Przemyslaw Czerpak
cce3e73961 2008-09-29 11:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/include/hbthread.h
  * harbour/source/vm/hvm.c
  * harbour/source/vm/thread.c
    + added hb_vmThreadRegister() funtion which allows to register new
      thread in HVM without HVM stack allocation
    + added hb_vmThreadRelease() which removes registered thread which
      does not have allocated HVM stack yet
    + added hb_threadStateNew() which returns new thread control state
      which can be used as parameter to hb_vmThreadInit(),
      hb_vmThreadRegister(), hb_vmThreadRelease()
    * register thread control state also for main thread
      Now hb_threadSelf() returns thread pointer also for main thread
    ! fixed possible race condition in hb_threadWaitForAll() and
      hb_threadTerminateAll() by using hb_vmThreadRegister() before
      starting thread.

  * harbour/source/rtl/idle.c
    * interrupt hb_idleSleep() on QUIT or BREAK requests

  * harbour/tests/mt/mttest09.prg
    * small cleanup
2008-09-29 09:19:46 +00:00
Przemyslaw Czerpak
88d4f41e4f 2008-09-26 21:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/thread.c
    * release thread return value when is retrieve

  * harbour/common.mak
  * harbour/source/rtl/Makefile
  + harbour/source/rtl/tthreadx.prg
    + added xBase++ compatible signal class

  * harbour/source/rdd/wacore.c
    ! added missing alias setting after attaching work area

  + harbour/tests/mt/mttest09.prg
    + added test code for using the same work area in different threads
2008-09-26 19:28:54 +00:00
Przemyslaw Czerpak
893c372e0b 2008-09-26 19:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/source/vm/estack.c
    + added assembler inline macros for TLS access in BCC and MinGW32
      They are enabled when Harbour is compiled with -DHB_NO_TLS.
      Please check the speed difference. If it will be noticeable
      then we keep them probably as default. Otherwise they will be
      removed.
2008-09-26 17:35:37 +00:00
Przemyslaw Czerpak
acd86c6f02 2008-09-26 02:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/thread.c
    ! fixed thread cleanup code when startthread() fails, f.e.
      OS refuse to create new thread.
2008-09-26 00:42:41 +00:00
Viktor Szakats
cd96daef69 2008-09-25 00:22 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* make_b32.mak
  * make_gcc.mak
  * make_vc.mak
  * harbour.spec
  * source/rtl/hbgtcore.c
  * source/rtl/Makefile
  * source/rtl/gtsys.c
  * config/w32/poccce.cf
  * config/w32/xcc.cf
  * config/w32/pocc.cf
    % Removed HB_GT_DEFAULT envvar, which was the exact synonym 
      of HB_GT_LIB. Please use HB_GT_LIB instead, if you - by any 
      chance - want to change the default GT at Harbour build-time.

  * tests/speedtst.prg
    ! Fixed to delete temp .dbf files before exiting.
2008-09-24 22:22:57 +00:00
Przemyslaw Czerpak
e58b37da88 2008-09-24 20:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/estack.c
    ! fixed stack preloading - it should be after checking if stack
      exist :)
2008-09-24 18:31:00 +00:00
Viktor Szakats
cb7b1a831c 2008-09-24 16:18 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/fm.c
    + Enabled dlmalloc (HB_FM_DL_ALLOC) for MSVC, BCC and MINGW builds.
    ; It's possible to disable dlmalloc with HB_FM_STD_ALLOC 
      for testing purposes.
2008-09-24 14:19:05 +00:00
Viktor Szakats
ea0b8c9f82 2008-09-24 16:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* bin/bld.bat
  * bin/bld_os2.cmd
    * HARBOURFLAGS removed as a public envvar to setup Harbour 
      parameters. Use PRG_USR instead.

  * common.mak
    ! Fixed after recent modification.

  * source/compiler/cmdcheck.c
    * Minor formatting.
2008-09-24 14:07:22 +00:00
Przemyslaw Czerpak
b0a49b7ba1 2008-09-24 14:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/dynsym.c
  * harbour/source/vm/arrays.c
  * harbour/source/vm/memvars.c
    ! fixed three typos which broke HB_TR_DEBUG messages
2008-09-24 12:54:41 +00:00
Przemyslaw Czerpak
47e5d68b82 2008-09-24 13:57 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/cmdcheck.c
    ! fixed starting index in parsed parameters. argv[0] is
      application name with path not user parameter. Parsing
      it was giving unpredictable results if harbour binaries
      were located in path having option delimiters in name
2008-09-24 11:57:47 +00:00
Viktor Szakats
6b8ec38aec 2008-09-24 12:31 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/vmmt/Makefile
    ! Possible fix for mingw build error:
      make: *** mainstd: No such file or directory.  Stop.
      make[3]: *** [first] Error 2
      make[2]: *** [first] Error 2
    ; Please review.

    ; TOFIX: These DLALLOC warnings are present with MinGW 4.3.2
             In file included from ../../fm.c:127:
             ../../dlmalloc.c:1144: warning: ignoring #pragma warning 
             In file included from ../../fm.c:127:
             ../../dlmalloc.c: In function 'sys_alloc':
             ../../dlmalloc.c:3396: warning: statement with no effect
2008-09-24 10:31:40 +00:00
Viktor Szakats
cb657c0fb5 2008-09-24 12:12 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* common.mak
  * source/rtl/gtgui/Makefile
  - source/rtl/gtgui/gtdef.c
    - Removed HB_GTGUI_HACK to masquerade GTGUI under a different 
      name and to make Windows users happier. Instead of hacking
      Windows users with GUI programs should simply use 
      this in their code:
      --
      PROCEDURE HB_GTSYS
         REQUEST HB_GT_GUI_DEFAULT
         RETURN
      --
    ; This clears up a few exceptions, make hacks and a few possible 
      confusions.
2008-09-24 10:13:27 +00:00
Viktor Szakats
f1045db35b 2008-09-24 01:37 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/gtsys.c
    * Added HB_WINCE with GTWVT to the set of defaults.

  * config/darwin/global.cf
  * config/hpux/global.cf
  * config/linux/global.cf
  * config/sunos/global.cf
  * config/bsd/global.cf
    % Removed unnecessary defaulting to GTSTD.

  * config/os2/gcc.cf
    ! Fixed minor typo in line 24 / HB_OS2_NEW_TCP.
2008-09-23 23:38:08 +00:00
Przemyslaw Czerpak
fe42f7ca94 2008-09-24 00:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtsys.c
    * use GTTRM as default GT in *nixes
2008-09-23 22:45:16 +00:00
Viktor Szakats
15b49556a2 2008-09-24 00:18 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* tests/memtst.prg
    + Added #include "simpleio.ch" to allow output redirection.

  * bin/bld.bat
  * bin/bld_os2.cmd
    * Removed any HB_GT_LIB "selection" logic. Selection is to 
      be done from source code, from now on all supported core GTs 
      are included in the lib list.
    * Few other minor cleanups.

  * source/vm/cmdarg.c
    * Commented code turned into HB_C52_STRICT branch.

  * source/vm/vmmt/Makefile
    ! Fixed cemgw -> mingwce

  * config/dos/global.cf
  * config/os2/global.cf
  * config/w32/global.cf
    % Removed unnecessary logic to select default GT. This is 
      done in Harbour source code now.

  ; TOFIX: After MT changes, mingw32 build gives this new error:
           make: *** mainstd: No such file or directory.  Stop.
           make[3]: *** [first] Error 2
           make[2]: *** [first] Error 2
2008-09-23 22:24:26 +00:00
Przemyslaw Czerpak
9440cf8e4c 2008-09-23 21:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    * use HB_IMPORT instead of hardcoded attributes in hb* scripts

  * harbour/source/common/hbver.c
    * generate different info for POCC and XCC compilers

  * harbour/source/rdd/dbfcdx/dbfcdx1.c
    * reduce header validation to not report clipper indexes as corrupted
2008-09-23 19:43:34 +00:00
Viktor Szakats
09b0509b08 2008-09-23 20:41 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/extrap.c
    ! Fixed to close .log file before showing MessageBox().
      [TOMERGE 1.0]

    + Don't attempt to write into .log file if the _SET_HBOUTLOG 
      filename is empty.

    ; TOFIX: Remove all remaining MessageBox() calls from 
             Harbour sources.
2008-09-23 18:42:29 +00:00
Viktor Szakats
2db644f214 2008-09-23 18:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/rddads/adsmgmnt.c
    ! Blind fix to ADSMGGETWORKERTHREADACTIVITY() where the 
      first element in list wasn't returned.
      Please test, I couldn't.

  * source/vm/fm.c
    ! Stupid typo. (I guess I'm completely confused by separated 
      "#" and preprocessor command :/ Second typo in two lines.)
2008-09-23 16:57:24 +00:00
Przemyslaw Czerpak
c8d341cefb 2008-09-23 15:38 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/codebloc.c
    * updated old and not longer valid comment

  * harbour/source/vm/memvars.c
    * minor code formatting

  * harbour/source/common/expropt2.c
    ! fixed bug in power math expression optimization caused
      by two lines left in the code by mistake. Many thanks to
      Maurilio for locating the problem.

  * harbour/include/hbstack.h
  * harbour/source/vm/estack.c
  * harbour/source/vm/hvm.c
    % added support for buffering hb_stack TLS access be preloading
      the stack pointer into C stack function local variables.
      Please make speed tests for MT mode with different C compilers
      and different platforms.
2008-09-23 13:39:35 +00:00
Viktor Szakats
454b3b49e0 2008-09-23 14:38 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbole/ole2.c
  * contrib/hbgf/hbgfwin/winapi.c
  * contrib/hbgf/hbgfos2/os2pm.c
  * contrib/hbwin/win_ole.c
  * contrib/hbwhat/wincorec.c
  * source/rtl/do.c
  * source/rdd/workarea.c
    % hb_vmPushSymbol( hb_dynsymSymbol( p ) ) -> hb_vmPushDynSym( p )

  * contrib/hbwhat/wincorec.c
    ! WHT__GETDLGPROC() fixed.
    ! hb_vmPushSymbol( hb_itemGetSymbol( p ) ) -> hb_vmPushDynSym( p )

  * contrib/hbgf/hbgfwin/winapi.c
  * contrib/hbwhat/wincorec.c
  * contrib/hbwhat/whtmsg.c
  * contrib/hbwhat/whtbmp.c
  * contrib/hbwhat/whtcomm.c
  * contrib/hbwhat/whthead.c
  * contrib/hbwhat/whthead.c
  * contrib/hbwhat/whtkbrd.c
  * contrib/hbwhat/whtlv.c
  * contrib/hbwhat/whttext.c
  * contrib/hbwhat/whtwnd.c
  * contrib/hbwhat/whtdlg.c
  * contrib/hbwhat/whttab.c
    ! Fixed few LPARAM/WPARAM passings to be 64-bit compatible.
      (hb_parnl()/hb_parni() -> hb_parnint())

  * source/vm/thread.c
  * source/rtl/do.c
  * source/rdd/usrrdd/usrrdd.c
  * contrib/hbwhat/whtlv.c
  * contrib/hbwhat/whtfont.c
    % hb_vmPushSymbol( hb_itemGetSymbol( p ) ) -> hb_vmPush()
    ; QUESTION/TOFIX: In whtlv.c and whtfont.c this may be wrong, 
                      and hb_vmPushDynSym() could be needed instead.
                      Can someone take a look pls?
2008-09-23 12:48:23 +00:00
Viktor Szakats
ebaa3ee424 2008-09-23 11:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/fm.c
    ! Enabled USE_DL_PREFIX for _MSC_VER compilers.
      This may be refined, but without this setting MSVS 2008 
      would give an error on exit and GPF.
2008-09-23 09:28:39 +00:00
Przemyslaw Czerpak
afd254adc2 2008-09-22 22:08 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/thread.c
    ! fixed GPF when hb_threadSelf() was executed from thread without
      allocated ID object (f.e. main thread)
2008-09-22 20:09:27 +00:00
Przemyslaw Czerpak
700a0c4805 2008-09-22 20:54 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
    * do not allow to close production index by ordBagClear() when
      strict FP compatibility is set for production index or when
      _SET_AUTOPEN is enabled. It compatible behavior to ordListClear()
      function
2008-09-22 18:55:21 +00:00
Przemyslaw Czerpak
afb1c7cd2d 2008-09-22 20:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/classes.c
  * harbour/source/rdd/workarea.c
    * pacified BCC warnings

  * harbour/source/debug/dbgwa.prg
  * harbour/source/debug/debugger.prg
  * harbour/source/debug/dbghelp.prg
    * eliminated two static variables
2008-09-22 18:41:29 +00:00
Antonio Carlos Pantaglione
3876fb6d73 2008-09-22 14:34 UTC-0300 Antonio Carlos Pantaglione <toninho@fwi.com.br>
% source/rtl/dbedit.prg
  % source/rtl/dirscan.prg
  % source/rtl/errorsys.prg
  % source/rtl/hbini.prg
  % source/rtl/listbox.prg
  % source/rtl/objfunc.prg
  % source/rtl/tbrowse.prg
  % source/rtl/tclass.prg
  % source/rtl/tget.prg
  % source/rtl/tgetlist.prg
    % Code formating and some local decarations inlined
2008-09-22 17:39:16 +00:00
Przemyslaw Czerpak
f05cbbaaaf 2008-09-22 19:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
   ! corrected previous ChangeLog entry: instead of hb_waDetach()/
     hb_waRequest() should be db_dbDetach()/hb_dbRequest()

  * harbour/source/vm/hvm.c
   * disabled PRG tracing in default builds. If someone wants to
     use this feature then he should recompile Harbour with HB_PRG_TRACE
     macro. In such case tracing can be enabled/disabled by __TRACEPRGCALLS()
     function. HB_NO_TRACE macro is not longer usable - it's default in
     current code.

  * harbour/source/vm/classes.c
    + added PRG function __clsPreallocate() which extends the size of
      classes buffer to given value to avoid later RT reallocations.
      It may be useful in some very seldom cases for MT programs which
      will allocate dynamically at runtime more then 16386 classes.
      In practice rather impossible though who knows ;-)

  * harbour/source/rdd/workarea.c
    * set default preallocation size for RDD nodes to 128
    + added PRG function __rddPreallocate() which extends the size of
      RDD nodes buffer to given value to avoid later RT reallocations.
      It may be useful in some very seldom cases for MT programs which
      will register dynamically at runtime more then 128 RDDs when other
      threads are active and may use RDD nodes.

  * harbour/include/hbrddcdx.h
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
    + added ORDLSTDELETE() method.
      Now ordbagClear() should work for DBFCDX.
2008-09-22 17:32:36 +00:00
Viktor Szakats
216164681e 2008-09-22 19:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* make_b32.mak
  * make_vc.mak
  * common.mak
  * source/rtl/hbgtcore.c
    ! Any messing with HB_GT_LIB and HB_GT_DEFAULT was removed 
      from non-GNU make files, to leave these things to the 
      source code itself (just like in GNU-make).
    + Added automatic selection of GTWVT from source code, 
      so that it also works in GNU-make.

  * source/rdd/dbfcdx/dbfcdx1.c
    ! Restored RTE behaviour when key length is zero.
    ! Recently added C53 compatible but C52 incompatible 
      RTE enabled only if HB_COMPAT_C53 and HB_C52_STRICT 
      are both #defined to not make valid C52 apps crash.
    ; Someone pls review me.
2008-09-22 17:21:44 +00:00
Przemyslaw Czerpak
400cb4e34d 2008-09-22 16:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbregex.c
   * added hack to force linking newer PCRE versions not the one included
     in BCC RTL when Harbour is compiled without HB_PCRE_REGEX_BCC.
     If user application will uses regex expressions (directly or indirectly
     by some RTL functions) then lining it without HBPCE should give link
     time error that pcre_config() function is missing.
2008-09-22 14:37:51 +00:00
Przemyslaw Czerpak
d9e592e202 2008-09-22 16:14 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/source/vm/estack.c
    + added support for using stack macros without native compiler TLS
      support in MT mode.
    * enabled stack macros by default for OS2 MT builds
      David, if possible please try speedtst.prg with current MT HVM
2008-09-22 14:15:18 +00:00
Przemyslaw Czerpak
934e7f3e8e 2008-09-22 15:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbinet.c
    ! fixed W32 compilation
2008-09-22 13:24:14 +00:00
Przemyslaw Czerpak
4be2b3ea73 2008-09-22 04:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbinet.c
    ! fixed typo in previous commit which broke MS-Win builds
    * check hb_vmReaquestQuery() after executing use codeblocks
2008-09-22 02:27:54 +00:00
Przemyslaw Czerpak
b34b792443 2008-09-22 03:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/source/vm/estack.c
  * harbour/source/vm/hvm.c
    + added support for nested hb_vmUnlock()/hb_vmLock() calls

  * harbour/source/rtl/hbinet.c
    * encapsulated all potentially slow inet functions inside
      hb_vmUnlock()/hb_vmLock() calls
2008-09-22 01:50:21 +00:00
Przemyslaw Czerpak
a8aac5cae5 2008-09-22 02:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/source/vm/hvm.c
  * harbour/source/vm/thread.c
    + added .prg function hb_threadSelf() -> <pThID> | NIL
      It returns thread ID pointer variable or NIL when thread was
      registered without it (main thread and some 3-rd party threads
      created by C API)

  * harbour/source/vm/hvm.c
    * protect s_InitFunctions and s_ExitFunctions by mutex

  * harbour/source/common/hbverdsp.c
    * use hb_verBuildDate() instead of __DATE__ and __TIME__ in
      hb_verBuildInfo() function to report the same time in both
      cases.
2008-09-22 00:34:52 +00:00
Przemyslaw Czerpak
c1c574142e 2008-09-21 23:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/arrays.c
    + added hb_arrayGetPtrGC(), hb_arrayGetSymbol(), hb_arraySetSymbol()

  * harbour/include/hbapi.h
  * harbour/source/vm/dynsym.c
    + added hb_dynsymProtectEval(). Works like hb_dynsymEval() but
      keeps dynamic symbol table locked during whole execution.
      It's faster then hb_dynsymEval() but user function may not
      access dynamic symbol tbale to not cause recursive locks
    + added protection against possible dynamic symbol table resizing
      during hb_dynsymEval() by other threads.

  * harbour/include/hbapi.h
  * harbour/source/vm/memvars.c
    + added hb_memvarSaveInArray( int iScope, BOOL fCopy ) and
      hb_memvarRestoreFromArray( PHB_ITEM pArray )
    % use hb_dynsymProtectEval() in places where it's safe

  * harbour/include/Makefile
  + harbour/include/hbthread.ch
    + added header file with thread constant definitions:
         HB_THREAD_INHERIT_PUBLIC
         HB_THREAD_INHERIT_PRIVATE
         HB_THREAD_INHERIT_MEMVARS
         HB_THREAD_MEMVARS_COPY

  * harbour/include/hbthread.h
  * harbour/source/vm/hvm.c
  * harbour/source/vm/thread.c
    + added support for inheriting visible memvars from current
      thread when new thread is created. Memvars in child thread
      can be shared with parrent or they can be copied. See HB_THREAD_*
      attributes defined in hbthread.ch, f.e.:
         hb_threadStart( HB_THREAD_INHERIT_PUBLIC, @thFunc() )
      or:
         hb_threadStart( HB_BITOR( HB_THREAD_INHERIT_MEMVARS + ;
                                   HB_THREAD_MEMVARS_COPY ), ;
                          @thFunc() )
      Please note that when child thread creates new PUBLIC variable
      which didn't existed when thread was started then it's visible
      only for this thread and optionally for its child threads but
      not for parent thread.
      Please also remember that write access to shared memvars have
      to be protected by users.

  + harbour/tests/mt/mttest08.prg
    + added test code for thread memvars inheritance
2008-09-21 21:04:47 +00:00
Przemyslaw Czerpak
2f2dc484a8 2008-09-20 05:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
  * harbour/source/rdd/Makefile
    ! restored dbdetach.* in makefiles

  + harbour/source/rdd/dbdetach.c
    + added file I forgot to add in previous commit

  * harbour/source/vm/thread.c
    + added support for using function name as string in HB_THREADSTART()
    + added support for thread attributes. They will be used in the future.
2008-09-20 03:37:41 +00:00
Teo Fonrouge
0705a60aeb 2008-09-19 21:28 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com)
* common.mak
  * source/rdd/Makefile
    * removed dbdetach.* from make constructors
2008-09-20 02:17:21 +00:00
Przemyslaw Czerpak
d94370e84e 2008-09-20 03:38 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
    * minor modification: #ifdef ... => #if defined( ... )

  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gttrm/gttrm.c
    ! fixed reentrance counter resetting
2008-09-20 01:39:17 +00:00
Przemyslaw Czerpak
e67c40b7de 2008-09-20 00:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
+ harbour/source/rdd/wadetach.c
    + added .prg functions:
         hb_waDetach( [<nWorkArea>|<cAlias>], [<xCargo>] ) -> <lSuccess>
         hb_waRequest( [<cAlias>], [<lFreeArea>], [<@xCargo>], [<lWait>] )
            -> <lSuccess>
      The first one detach workarea from current thread and move it
      to special hidden holder. Before detaching all relations (parent
      and child) to detached workarea are cleared.
      The second one restores area from the holder and attach it
      to calling thread.
    + added xBase++ compatible functions DbRelease() / DbRequest()
      xBase++ users please test. If possible please also check what xBase++
      does with relations and active RLOCKs/FLOCK on released WA.
2008-09-19 22:43:02 +00:00
Przemyslaw Czerpak
7cc11cf5e2 2008-09-19 22:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/set.c
    ! fixed casting

  * harbour/contrib/xhb/xhbcopyf.c
    * replaced TABs with SPACEs

  * harbour/include/hbapirdd.h
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/wacore.c
  * harbour/source/rdd/wafunc.c
    + added support for detaching and attaching workareas

  * harbour/source/vm/hvm.c
    % minor cleanup in thread return code

  * harbour/include/hbthread.h
  * harbour/source/vm/thread.c
    * unlock HVM stack during thread join operation
    * added workaround for DosWaitThread() which seems to fail if thread
      terminated before
    ; added TOFIX note for OS2 and join code
2008-09-19 20:28:26 +00:00
Miguel Angel Marchuet Frutos
dd5f48d252 2008-09-19 12:21 UTC+0100 Miguel Angel Marchuet <miguelangel@marchuet.net>
* contrib/hbbmcdx/bmdbfcdx.c
  * source/rdd/dbfcdx/dbfcdx1.c
    ! fixed return value after rt error.
    * Added rt error as in clipper when OrdkeyVal is greater than 240, with default
      capabilities as in clipper.
    code to test it:
	FUNCTION MAIN()

	    LOCAL i
	    LOCAL nSec := SECONDS()

	    REQUEST DBFCDX
	    RddSetDefault( "DBFCDX" )

	    DBCREATE( "__MYTEST", { { "test", "C", 241, 0 } } )

	    USE __MYTEST
	    INDEX ON FIELD->Test TO __MYTEST

	    FOR i := 1 TO 10
	        APPEND BLANK
        	FIELD->test := Replicate( "1", 240 ) + Str( 10 - i, 1 )
	    NEXT

	    DbGoTop()
	    ? &(OrdKey())
	    ? "Length of &(OrdKey()) :" + Str( Len( &(OrdKey()) ) )
	    ? OrdKeyVal()
	    ? "Length of OrdKeyVal() :" + Str( Len(OrdKeyVal()) )
	    WHILE ! EOF()
	      ? Right( FIELD->Test, 1 )
	      DbSkip()
	    ENDDO

	    USE
	    FERASE( "__MYTEST.DBF" )
	    FERASE( "__MYTEST.CDX" )

	RETURN NIL
2008-09-19 10:24:54 +00:00
Viktor Szakats
57707cd31e 2008-09-18 22:00 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/fm.c
    ! Suppressing warnings for foreign dmalloc.c code for BCC.
2008-09-18 20:01:14 +00:00
Przemyslaw Czerpak
a6f735db01 2008-09-18 20:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/thread.c
    * detach local parameters passed by reference to hb_threadStart()
      to avoid possible calling thread HVM stack corruption
2008-09-18 18:42:15 +00:00
Przemyslaw Czerpak
c92f2bec7b 2008-09-18 19:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rdd/dbfcdx/dbfcdx1.c
    ! fixed memory leak - Many thanks to Miguel for report
2008-09-18 17:28:39 +00:00
Przemyslaw Czerpak
54252ca860 2008-09-18 17:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_rpm.sh
    * use rpm to test if curl-devel package is installed

  * harbour/include/hbapi.h
  * harbour/source/common/hbstr.c
    + added hb_strduptrim() and hb_strlentrim()

  * harbour/source/rdd/dbfcdx/dbfcdx1.c
    ! control total length of KEY and FOR expression together
      to be compatible with other CDX drivers.
      Total length of both expressions cannot exceed 512 bytes
      (with two trailing ASCII 0 characters)
2008-09-18 15:25:37 +00:00
Miguel Angel Marchuet Frutos
aaf182d085 2008-09-18 11:02 UTC+0100 Miguel Angel Marchuet <miguelangel@marchuet.net>
* contrib/hbbmcdx/bmdbfcdx.c
  * source/rdd/dbfcdx/dbfcdx1.c
    ! fixed generation error when length of key is greater than 256 as Clipper.
      instead of wait for internal error.
    * Used defined errors instead of hardcoded numbers.
2008-09-18 09:01:58 +00:00
Przemyslaw Czerpak
932e4f99a6 2008-09-18 07:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/cdpapi.c
    * explicit casting to char * in 1-st strchr() parameter as workaround
      for wrong function prototype in DMC header files
2008-09-18 05:56:41 +00:00
Przemyslaw Czerpak
86333ba271 2008-09-18 07:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
    * use assembler version of atomic inc/dec operation in all x86 based
      GCC builds - it should noticeable improve OS2 MT build speed,
      please test.

  * harbour/include/hbcomp.h
  * harbour/include/hbapicdp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbgtcore.h
  * harbour/include/hbapifs.h
  * harbour/include/hbwince.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprop.h
  * harbour/include/hbmacro.h
  * harbour/include/hbapigt.h
  * harbour/include/hbapi.h
  * harbour/include/hbapiitm.h
  * harbour/include/hbexprb.c
  * harbour/source/pp/ppcore.c
  * harbour/source/pp/hbpp.c
  * harbour/source/vm/macro.c
  * harbour/source/vm/cmdarg.c
  * harbour/source/vm/arrays.c
  * harbour/source/vm/extrap.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/eval.c
  * harbour/source/vm/extend.c
  * harbour/source/vm/set.c
  * harbour/source/main/harbour.c
  * harbour/source/common/hbfsapi.c
  * harbour/source/common/reserved.c
  * harbour/source/common/expropt1.c
  * harbour/source/macro/macro.yyc
  * harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyh
  * harbour/source/macro/macrolex.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtos2/gtos2.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/cdpapi.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/hbtoken.c
  * harbour/source/rtl/gtchrmap.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtsln/mousesln.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtsln/kbsln.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/hbhex.c
  * harbour/source/rtl/gtgui/gtgui.c
  * harbour/source/rtl/gt_tpl/gt_tpl.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/strtran.c
  * harbour/source/rtl/hbinet.c
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbsql.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/hbsix/sxfname.c
  * harbour/source/compiler/ppcomp.c
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbdbginf.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/hbident.c
  * harbour/source/compiler/hbusage.c
  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.y
  * harbour/contrib/gtalleg/gtalleg.c
  * harbour/contrib/hbct/charlist.c
  * harbour/contrib/hbct/charmix.c
  * harbour/contrib/hbct/screen1.c
  * harbour/contrib/hbct/atrepl.c
  * harbour/contrib/xhb/hboutdbg.c
  * harbour/contrib/xhb/hbxml.c
  * harbour/contrib/xhb/hbxml.h
  * harbour/contrib/hbgt/strexpan.c
  * harbour/contrib/hbsqlit3/sqlite3/sqlite3.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/hbclipsm/status.c
  * harbour/contrib/hbclipsm/gauge.c
  * harbour/contrib/hbmisc/stringsx.c
  * harbour/contrib/hbtip/utils.c
  * harbour/contrib/hbgf/hbgfgtk/msginfo.c
  * harbour/contrib/hbgf/hbgfgtk/harbgtk.h
  * harbour/contrib/hbbmcdx/bmdbfcdx.c
  * harbour/utils/hbmake/hbmgauge.c
    * use const char * instead of char * in places which should be marked
      as const
2008-09-18 05:23:49 +00:00
Przemyslaw Czerpak
5ec4b754b9 2008-09-18 01:17 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/fm.c
  + harbour/source/vm/dlmalloc.c
    + added alternative memory manager written by Doug Lea
      It can be activated by recompiling Harbour with HB_FM_DL_ALLOC macro.
      Please make test on different platforms with different C compilers.
      Linux users will not benefit from it because the default GLIBC MM
      is derived from a version of code.
      NOTE: the results may strongly depend on total memory allocation
      and will be different then in simple memory tests.
2008-09-17 23:17:45 +00:00
Przemyslaw Czerpak
ab02c791d5 2008-09-17 18:38 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
    + added macros to disable default native compiler TLS support:
      HB_NO_TLS

  * harbour/source/vm/set.c
    ! fixed GPF when set listeners were removed
2008-09-17 16:39:24 +00:00