* 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.
+ 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.
* 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
* contrib/xhb/Makefile
* contrib/xhb/common.mak
+ contrib/xhb/xhbcopyf.c
+ contrib/xhb/tests
+ contrib/xhb/tests/testcp.prg
+ contrib/xhb/tests/bld_b32.bat
+ contrib/xhb/tests/bld_vc.bat
+ Added XHB_COPYFILE() function, which is (more or less)
compatible with xhb's extended __COPYFILE() function.
Thanks to Toninho for the initial code and hint.
* 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)
* make_vc.mak
* Synced with BCC to build in ST mode by default.
; TOFIX: There seems to be an old problem where contrib
.prg files won't get rebuilt after a modification
by running make_vc.bat (MSVC only).
Marek, if you see this, could you take a look at it?
* make_rpm.sh
! Attempt to detect libcurl.
[TOMERGE 1.0]
* contrib/hbziparc/hbziparc.prg
* contrib/hbwin/win_tole.prg
* contrib/hbvpdf/hbvpdf.prg
* Some STATIC vars converted to THREAD STATIC.
* aReport renamed to s_aReport.
(is it a good idea to name 'ts_name' THREAD STATIC
vars?)
* utils/hbmake/hbmake.prg
! Patch by Bill Robertson applied.
This should eliminate any messing with harbour.cfg.
* 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.
* 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.
* bin/hb-mkslib.sh
* make_gcc.sh
* make_gnu.sh
* make_tgz.sh
* make_xmingw.sh
* make_xmingwce.sh
* contrib/make_gcc_all.sh
* contrib/mtpl_gcc.sh
- Removed unnecessary explicit SunOS detection.
- Removed unnecessary explicit Darwin detection (to be tested).
* contrib/make_gcc_all.sh
! Fixed 'cyg' platform in contrib make files.
* make_tgz.sh
! Fixed .tgz generation for SunOS. Thanks Przemek.
I simply copied the Linux method here, I'm not sure 64-bit
code would apply here, too.
! Fix for SunOS to link against curses instead of ncurses lib.
Someone pls verify me.
; TOFIX: make_tgz.sh in OpenSolaris still has these errors:
ld: fatal: relocations remain against allocatable but non-writable sections.
ld: fatal: library -lharbour: not found
* bin/hb-mkslib.sh
* make_xmingwce.sh
* make_gcc.sh
* make_xmingw.sh
* make_gnu.sh
* make_tgz.sh
+ Added SunOS platform detection as an attempt to make
make_tgz.sh work on OpenSolaris.
; NOFIX: Still, when trying to use make_tgz.sh in OpenSolaris,
I'm getting these errors:
---
ld: fatal: library -lharbour: not found
ld: fatal: library -lncurses: not found
---
gtar: wheel: %s: Invalid group
* debian/changelog
* Synced with 1.0.1.
* source/pp/ppcore.c
! Minor typo in one PP error message. (sync 1.0.1)
* Cleaned ":" from all PP error/warning messages to be
friendly with Eclipse.
* source/compiler/hbgenerr.c
* Cleaned some more ":" chars from compiler error/warning
messages to be friendly with Eclipse.
; NOTE: Few more still remain. If you have an idea how to rephrase these, pls tell:
"Bound error: '%s'"
"Syntax error: '%s'"
"Syntax error: \"%s at '%s'\""
"Invalid lvalue: '%s'"
"Invalid use of '@' (pass by reference): '%s'"
"3Incompatible type in assignment to declared array element expected: '%s'"
"4Suspicious type in assignment to declared array element expected: '%s'"
* utils/hbmake/hbmake.prg
* Updated by large patch from Bill Robertson.
Adds several enhancements, fixes and optimizations
to the previous version.
* utils/hbdoc/hbdoc.prg
* utils/hbmake/hbmake.prg
* utils/hbrun/hbrun.prg
* Changed the way version number is shown.
* utils/hbmake/hbmake.prg
* Updated MT lib lists. (untested)
* make_b32.mak
* Minor sync with make_vc.mak.
* make_vc.mak
* Attempt to implement hbvmmt.lib just like in
make_b32.mak to make them synced.
* harbour/utils/hbtest/rt_class.prg
! fixed description message
* harbour/common.mak
* harbour/utils/hbtest/Makefile
* harbour/utils/hbtest/hbtest.prg
+ harbour/utils/hbtest/rt_mt.prg
+ added simple MT test for fast checking MT builds
NOTE: DMC builds crashes with and without direct TLS access
If possible it has to be fixed. Now MT mode is not supported
for this compiler.
* harbour/include/hbthread.h
+ added DMC to list of compilers which can use __declspec( thread )
+ automatically use TLS for Linux and GLIBC >= 2.6 on x86* machines
* harbour/include/hbthread.h
* harbour/source/vm/estack.c
* harbour/source/vm/thread.c
! clean up typos in OS2 builds
* source/compiler/hbgenerr.c
* Most ':' chars removed from Harbour compiler error messages.
Few still remain, where I wasn't sure of the exact meaning
or final layout of the texts.
Warnings are also a TODO yet.
Please review.
* doc/gmake.txt
* doc/gtapi.txt
* doc/hbmake.txt
* doc/windll.txt
* Useless changes.
* make_vc.mak
* Some untested MT support for MSVC.
* include/hbdefs.h
! Removed mistakenly committed experiment to pull in
MT related libs. This caused the strange build problem due
to empty lib name passed to #pragma. This could work
in case someone wanted to deal with it in the future.
+ harbour/tests/memtst.prg
+ added some simple tests for memory manager
* harbour/tests/speedtst.prg
* reduced the size of allocated block size to not test C-RTL
memory manager but HVM speed
* harbour/include/hbthread.h
* added for x86@32 PTHREADS builds HB_ATOM_GET() and HB_ATOM_SET()
so they can be used together with HB_ATOM_INC()/HB_ATOM_DEC()
also for x86@64 but with reduced to 32bit reference counter.
* make_b32.mak
* contrib/mtpl_b32.mak
+ Added -vG -Od to debug flags (CodeGuard and no optimization
if HB_BUILD_DEBUG is 'yes').
; I couldn't test it, because I'm getting a fatal error
when trying with my BCC build file.
Fatal: Unable to open file '.OBJ'
* harbour/include/hbthread.h
+ added assembler MT version of HB_ATOM_INC/HB_ATOM_DEC operation
for x86@32
* harbour/source/vm/fm.c
! removed #undef HB_ATOM_INC/HB_ATOM_DEC I left by mistake
* harbour/tests/speedtst.prg
* small update in speedtst.prg. It should be enough to make test and
compare MT and ST mode speed.
Please make test with different C compiler and send results to
devel list.
* harbour/bin/pack_src.sh
* added file list to archive so it's possible to recreate it later without SVN data
* harbour/common.mak
* harbour/make_b32.mak
* harbour/make_gcc.mak
+ added HBVMMT library for default builds
BCC version not tested - please test.
* harbour/source/vm/hvm.c
* moved language and code page setting before class and error initialization
* harbour/source/rtl/fserror.c
* harbour/source/rtl/fstemp.c
* harbour/source/rtl/fssize.c
* harbour/source/rtl/hbffind.c
* harbour/source/rtl/filesys.c
! fixed overloading FS error codes by other operations, f.e. accessing
TLS data by OS API function call
* harbour/include/hbsetup.h
* accept both settings: HB_FM_STATISTICS and HB_FM_STATISTICS_OFF
without errors
* harbour/bin/postinst.sh
* added small trick to make HBFM lib compilation not dependent on
default HB_FM_STATISTIC settings
* harbour/include/hbvm.h
* harbour/source/vm/hvm.c
+ added C function hb_vmIsMt()
* harbour/source/vm/cmdarg.c
* report MT HVM status when program is executed with //INFO
parameter
* harbour/source/vm/fm.c
! fixed memory statistic MT protection in hb_xrealloc() operation
* harbour/config/w32/owatcom.cf
* use echo instead of echo. for non empty output.
* harbour/include/hbextern.ch
* harbour/source/vm/thread.c
+ added .prg function hb_threadTerminateAll() - it sends QUIT request
to each HVM thread and waits for their termination. Can be executed
only by main HVM thread.
2008-09-14 16:30 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com)
* contrib/hbvpdf/hbvpdf.prg
* contrib/hbvpdf/hbvpdf.ch
* contrib/hbvpdf/test/pdf_demo.prg
! Mostly a cleanup of the code, added some functions to avoid the use
of publics vars.