marco
a4864e36f2
# revisions: 39668,39669,39671,39672,40652,41280,41281,42240,42244,42245,42286,42326,42456,42461,43048,43107,43108,43109,43110,43111,43112,43113
...
git-svn-id: branches/fixes_3_2@43394 -
2019-11-05 15:31:21 +00:00
marco
b8e3d6efa1
# revisions: 41570,41571,41938,42457,42327,42556,42557
...
git-svn-id: branches/fixes_3_2@43393 -
2019-11-05 15:16:28 +00:00
marco
d32d0df485
--- Merging r41584 into '.':
...
U rtl/amicommon/athreads.pp
U rtl/amicommon/tthread.inc
--- Recording mergeinfo for merge of r41584 into '.':
U .
# revisions: 41584
r41584 | karoly | 2019-03-04 02:43:42 +0100 (Mon, 04 Mar 2019) | 1 line
Changed paths:
M /trunk/rtl/amicommon/athreads.pp
M /trunk/rtl/amicommon/tthread.inc
amicommon: add some naive RTLEventWaitFor implementation, add long standing tthread.inc patch by Sven. Synchronize/CheckSynchronize should now work on Amiga
git-svn-id: branches/fixes_3_2@41940 -
2019-04-27 16:14:58 +00:00
Károly Balogh
c840c4d6a8
athreads: add a custom API to retrieve underlying process ID from AThreads. this makes it possible to combine some Amiga API features like Signaling with FPC's thread handling
...
git-svn-id: trunk@38848 -
2018-04-26 11:28:38 +00:00
marcus
ae184f4665
Amicommon: Implemented GetTempDir() for all Amiga systems ('T:' as default)
...
git-svn-id: trunk@38393 -
2018-03-01 18:04:40 +00:00
marcus
a0aaa69c0f
Amicommon: implemented BasicEvents in AThreads
...
git-svn-id: trunk@36905 -
2017-08-14 19:52:16 +00:00
Károly Balogh
6e3936c534
amicommon: implement StackTop for other Amiga-like systems
...
git-svn-id: trunk@36697 -
2017-07-08 23:48:29 +00:00
Károly Balogh
c1187a17cd
amiga: call InternalFindClose in InternalFindFirst, if finding the first file fails
...
git-svn-id: trunk@36505 -
2017-06-15 12:51:06 +00:00
marcus
67c3fd2276
AROS: Semaphores are much bigger on 64bit, fixes crashes and freezes on AROS64 with Threading enabled
...
git-svn-id: trunk@36206 -
2017-05-14 13:39:15 +00:00
Károly Balogh
c7576e4a3f
sysutils: enable FINDHANDLE_IS_POINTER for Amiga-like systems and Atari. this allows to remove some Pointer<->THandle casts from the amicommon code
...
git-svn-id: trunk@35198 -
2016-12-27 03:23:54 +00:00
Károly Balogh
7d2360eb0c
m68k: Test68000/Test68881 support boilerplate and special support for Amiga
...
git-svn-id: trunk@35194 -
2016-12-24 21:11:06 +00:00
marcus
bebef242d4
AROS: Initial ABIv1 Support
...
git-svn-id: trunk@35066 -
2016-12-04 15:41:35 +00:00
marcus
092244309a
Amicommon: use THandle/BPTR instead of LongInt (needed for 64 bit)
...
git-svn-id: trunk@35030 -
2016-12-01 17:55:58 +00:00
Tomas Hajny
1e6ee7f3c7
* fix remaining search handle leaks in Dos.FSearch - fix for bug #30896
...
git-svn-id: trunk@34910 -
2016-11-17 22:05:17 +00:00
marcus
3207a346e1
AROS: arm needs AROS_FLAVOUR_BINCOMPAT defines
...
git-svn-id: trunk@34895 -
2016-11-13 21:05:12 +00:00
Károly Balogh
33602807f5
amicommon: set the return value of SysErrorMessage to something default. this is consistent with some other platforms
...
git-svn-id: trunk@34591 -
2016-10-02 02:03:22 +00:00
sergei
67bd4775fd
- Cleaned out thread manager semaphore support which was ever implemented only for Unix, and not used since r28965. This also reverts changes to System unit interface introduced in r27665.
...
git-svn-id: trunk@34542 -
2016-09-20 20:14:36 +00:00
marcus
e38e051425
Amicommon: Unified parameterhandling for Amiga, AROS, MorphOS
...
git-svn-id: trunk@33528 -
2016-04-17 15:31:18 +00:00
marcus
b396d34364
Amicommon: Fixed compilation after r33290
...
git-svn-id: trunk@33292 -
2016-03-20 06:45:00 +00:00
marco
66608fec02
* unicode executeprocess from work during Lazarus convention in IJsselstein
...
git-svn-id: trunk@33290 -
2016-03-19 17:59:42 +00:00
marcus
2fe3a342f2
AROS: SystemTags changed to PtrUInt for 64bit
...
git-svn-id: trunk@33260 -
2016-03-17 18:57:05 +00:00
michael
fde42ca8ef
* Type helpers, compatible to Delphi XE 8
...
git-svn-id: trunk@32262 -
2015-11-07 09:40:54 +00:00
Károly Balogh
eb3bd4648c
amicommon: actually, not all filesystems (FTPMount, for example) support the ExamineFH method, so fall back to double-seek in that case
...
git-svn-id: trunk@31223 -
2015-07-23 18:43:37 +00:00
Károly Balogh
32120a47f4
amicommon/sysutils: use THandle instead of Longint
...
git-svn-id: trunk@31175 -
2015-06-28 23:38:37 +00:00
Károly Balogh
c704b4b918
amicommon/sysfile.inc: use THandle instead of LongInt
...
git-svn-id: trunk@31174 -
2015-06-28 23:36:09 +00:00
Károly Balogh
51a6c217c7
amicommon/dos: some warning fixes - use PtrInt instead of LongInt; do not check for less than zero values in unsigned variables
...
git-svn-id: trunk@31173 -
2015-06-28 23:12:41 +00:00
Károly Balogh
1a53f6a799
AROS: in agreement with Marcus Sackrow, AThreads is now enabled for AROS, and the old AROS-specific threading implementation is zapped
...
git-svn-id: trunk@31008 -
2015-06-07 18:35:50 +00:00
Károly Balogh
57f8922448
amicommon: make AThreads call the thread init/exit chain
...
git-svn-id: trunk@30992 -
2015-06-06 19:52:13 +00:00
Károly Balogh
5eea4b2846
amicommon: support for init/exit procedures for threads. will be used by Sockets unit for example, because bsdsocket.library needs to be reopened for each thread
...
git-svn-id: trunk@30991 -
2015-06-06 19:51:12 +00:00
Károly Balogh
0abb517ffb
amicommon: AThreads now supports calling suspend from the thread itself
...
git-svn-id: trunk@30959 -
2015-05-31 17:26:45 +00:00
Károly Balogh
6e6b00377f
amicommon: since system units now contain CREATE_SUSPENDED const, use that instead of a hardwired value
...
git-svn-id: trunk@30958 -
2015-05-31 17:25:31 +00:00
Károly Balogh
0997122c4c
AThreads: less random Hungarian swearing as accidentally left in debug code :)
...
git-svn-id: trunk@30942 -
2015-05-31 10:06:36 +00:00
Károly Balogh
eacc41d3b3
AThreads: use ThreadInfo block pointer as ThreadID, instead of the ProcessPtr itself, because after the process exited that can be reused and leads to ID collisions in the list. Also added a small helper for Int to HexStr printing, so we could avoid a bunch of pointer casting all over the code.
...
git-svn-id: trunk@30940 -
2015-05-31 09:09:51 +00:00
Károly Balogh
24677c9309
amicommon: more work on AThreads
...
- reworked exit syncronization/waiting. now uses signalsemaphores instead of messaging. this avoids the requirement for an extra message port per thread, which caused signal shortages earlier.
- additional cleanups
- now try to free up "leaked" resources on exit
git-svn-id: trunk@30933 -
2015-05-29 02:07:37 +00:00
Károly Balogh
b4ce380cd4
amicommon/AThreads: use shared semaphores locks where possible for read-only access; preparations to be built in the RTL; code cleanups
...
git-svn-id: trunk@30924 -
2015-05-28 01:10:38 +00:00
Károly Balogh
6afcca7cd3
Amiga-likes: preparations for inclusion of AThreads into the RTL buildprocess
...
git-svn-id: trunk@30923 -
2015-05-28 00:47:35 +00:00
Károly Balogh
21a9b96e7e
amicommon: avoid SysUtils unit and AnsiStrings in AThreads
...
git-svn-id: trunk@30922 -
2015-05-27 22:37:50 +00:00
Károly Balogh
eb692e46d2
amicommon: added ShortString version of SysDebug family of functions
...
git-svn-id: trunk@30921 -
2015-05-27 22:25:22 +00:00
Károly Balogh
632c46bcb6
amicommon: have a generic tthread.inc which even works, given there is a reasonably advanced ThreadManager
...
git-svn-id: trunk@30914 -
2015-05-25 21:06:53 +00:00
Károly Balogh
45ce4538fa
amicommon: more AThreads work
...
- in WaitForThreadTerminate, do not try to wait if the thread already exited
- when debug mode enabled, release the threadvars later, so AnsiString debug messages still work
- do not call DoneThread in EndThread. the threadfunc will call it when exited.
git-svn-id: trunk@30913 -
2015-05-25 19:47:21 +00:00
Károly Balogh
73f451f3d3
amicommon: AThreads improvements
...
- now supports creation of suspended threads
- reworked CriticalSections handling to avoid outside-heap dynamic allocations of mutex space
- allocate threadvars area into the heapPool, this avoids leaking the mainthread threadvar area on exit
- now supports setting thread stacksize in a Delphi-compatible way (by default inherits the stacksize of its parent)
- better subthread naming
git-svn-id: trunk@30912 -
2015-05-25 17:55:43 +00:00
Károly Balogh
c7856d25f8
amicommon: AThreads, a native threadmanager unit, similar to Unix's cthreads
...
- early stage, but tested and works on MorphOS and Amiga/68k (with at least 1 subthread... :)
- basic Threading functions and CriticalSections implemented
- Semaphores, RTLEvents and some other minor bits are still missing
- probably won't support all kinds of crazy hacky code out there. the user code must obey some Amiga-limitations, which come from the way the Amiga works
git-svn-id: trunk@30905 -
2015-05-24 23:07:41 +00:00
Károly Balogh
f5bcb011ea
amicommon: properly arbitrate access to the open file list in a multithreaded environment
...
git-svn-id: trunk@30899 -
2015-05-24 12:15:02 +00:00
Károly Balogh
48b38994c8
amicommon: the use OS-defined TICKS_PER_SECOND const instead of redefining it using another name
...
git-svn-id: trunk@30391 -
2015-03-30 08:26:16 +00:00
Károly Balogh
99123a1ea9
amicommon: massively improved FindFirst/FindNext implementation in the DOS unit. now supports Directory filtering and returns the time field of SearchRec in the expected format. This fixes a bunch of issues in the IDE and Free Vision, among others
...
git-svn-id: trunk@30390 -
2015-03-30 02:18:36 +00:00
Károly Balogh
6128007f83
amicommon: reindented dos/Create_Timer(), no functional changes
...
git-svn-id: trunk@30364 -
2015-03-29 11:09:37 +00:00
Károly Balogh
d7ffb52490
amicommon: define FPC_FEXPAND_DIRSEP_IS_UPDIR for Amiga-like systems. this seems to fix several FExpand weirdness on these systems (like the IDE not working properly on the root directory of a volume due to wrong paths)
...
git-svn-id: trunk@30358 -
2015-03-29 01:51:04 +00:00
Károly Balogh
bbecfeed9e
Amiga: manually semaphore-protect the heap Pool, because classic Amiga has no MEMF_SEM_PROTECTED
...
git-svn-id: trunk@30356 -
2015-03-29 00:18:19 +00:00
marcus
141878978e
AmiCommon: Missing UnLockDosList, DiskFree Bugfix
...
git-svn-id: trunk@29694 -
2015-02-14 20:06:47 +00:00
Károly Balogh
3cdf2d0e53
AROS: fixed the new do_filesize() code to build on AROS.
...
git-svn-id: trunk@29381 -
2015-01-04 01:55:49 +00:00