Derek (mantis #28830)
o ability for a thread to acquire a readlock when it already holds a
write lock, or vice versa
o detect when thread1 releases a lock while it hadn't acquired one
o correct result of beginwrite (return true only when another thread
held/acquired a write lock before the current thread got it)
o extra compared to Derek's patch: replaced some additional
(mostly pre-existing) interlocked*() hacks with proper memory
barriers, made formatting consistent, fixed compilation on platforms
where tthreadid is not an integer type, improved tthreadid hashing
function for 64 bit platforms, fixed some comments
git-svn-id: trunk@34678 -
characters, so the test's success doesn't depend on getdir returning a
string using the same composition as the used name (fixes test on
OS X 10.11)
git-svn-id: trunk@33270 -
o these routines are now generic wrappers in filutil.inc, and call
the platform-dependent internalfindfirst/next/close routines
o on unix, the fnmatch routine got proper support for UTF-8 matching
(e.g., it won't match a partial UTF-8 code point to a "?" wildcard)
o for NativeNT, a similar (untested) UTF-16 version has been added
+ test for the above
* rawbytestring/unicodestring versions of fileage
git-svn-id: branches/cpstrrtl@25302 -
other than DefaultFileSystemCodePage, so that it can work with strings
holding any encoding
+ test for fexpand(ansistring) with UTF-8 strings while DefaultSystemCodePage
is set to CP_ASCII
git-svn-id: branches/cpstrrtl@25300 -
code page of a rawbytestring influences the code page of concatenated
strings assigned to it (this behaviour will be fixed/changed in the
next commit)
git-svn-id: branches/cpstrrtl@25142 -
compiled with unicodestring)
* changed uppercase/lowercase(ansistring) to use the same logic as the
new unicode versions (unify code for lower/upper, only make result
unique if necessary)
+ test for all four routines
git-svn-id: branches/cpstrrtl@25006 -
(strecopy, strend, strcat, strcomp, strlcomp, stricomp, strlcat, strrscan,
strlower, strupper, strlicomp, strpos, WideStrAlloc, StrBufSize,
StrDispose)
* adjusted pwidechar version of strnew to call WideStrAlloc instead of
StrAlloc
+ tests for several newly added sysutils pwidechar routines based on
existing tests for equivalent pchar routines
* converted several sysutils ansistr*() function tests to tests for str*
functions
git-svn-id: branches/cpstrrtl@24998 -
o resolved conflict in updated morphos sysutils unit
o moved code that had been added to the now deleted sysunix.inc to the
unix-specific block of the fpwidestring unit's init code
git-svn-id: branches/cpstrrtl@24913 -
The WinCE implementation converts the rawbytestring arguments to
unicodestring and calls unicode OS APIs, while the others convert
unicodestring arguments to DefaultFileSystemCodePage and call
single byte OS APIs
+ test for the above
git-svn-id: branches/cpstrrtl@22467 -
critical section, so that it can be entered recursively just like
the one from TSimpleRWSync + test
- reverted r14593, since the reason for using TRWSync instead of
TMultiReadExclusiveWriteSynchronizer was because the former
supported recursive write locks
git-svn-id: trunk@14594 -