>In some pass of:
> HB_GTSELF_INKEYPOLL( pGT );
We have:
#define HB_GTSELF_INKEYPOLL(g)
(g)->pFuncTable->InkeyPoll(g)
>The mutex locking is correct.
>Next candidate are GTOS2 internals.
>BTW have you tried to enable tracing?
>It would help us to locate the problem quite fast.
Not yet with hope to find problem with these tests
>If you will have problems with tracing then please tests
>code below. It's rtl/gtos2/gtos2.c hb_gt_os2_ReadKey()
>replacement.
I think error will happen with any gt
hbrun_mt.exe is gtos2 and current .prg for tests is gtstd
>> 2. hb_threadMutexLock()
>> 2. hb_inkeyPoll()
>> 3. hb_inkeyPoll()
>> The process has stopped. The software diagnostic
>> code (exception code) is 0001.
>Try to check hb_gt_os2_ReadKey().
>In the .prg test code I sent was:
> announce HB_GTSYS
> request HB_GT_STD_DEFAULT
>Do you have it in your test?
>Can you runn this application with //info parameter so we can confirm
>the GT type?
pba.exe //info
Mixed with other output
-----------------
Harbour Terminal: Standard stream console
-----------------
>Can you check also:
> announce HB_GTSYS
> request HB_GT_CGI_DEFAULT
Harbour Terminal: Raw stream console
Harbour 1.1.0dev (Rev. 9846)
OS/2 4.50
DS avail=1720920KB OS avail=1720920KB EMM avail=0KB MemStat:Off MT:On
==== DOES NOT FAIL =====
Results at end of message
>and:
> announce HB_GTSYS
> request HB_GT_OS2_DEFAULT
Not tested yet with your code replacement
Harbour Terminal: OS/2 console
Harbour 1.1.0dev (Rev. 9846)
OS/2 4.50
DS avail=1720464KB OS avail=1720464KB EMM avail=0KB MemStat:Off MT:On
SYS1808:
The process has stopped. The software diagnostic
code (exception code) is 0001.
Fail exactly at same point as HB_GT_STD_DEFAULT
---------
[...]
2. hb_threadMutexLock()
_hb_gettid()
TID=1
1. hb_inkeyPoll()
1. hb_threadMutexLock()
_hb_gettid()
TID=2
_hb_gettid()
TID=2
2. hb_threadMutexLock()
2. hb_inkeyPoll()
3. hb_inkeyPoll()
---------
David Macias
Using HB_GT_CGI_DEFAULT
-----------------------
_hb_gettid()
TID=1
1. hb_threadMutexLock()
_hb_gettid()
TID=1
_hb_gettid()
TID=1
2. hb_threadMutexLock()
_hb_gettid()
TID=1
1. hb_threadMutexLock()
_hb_gettid()
TID=1
_hb_gettid()
TID=1
2. hb_threadMutexLock()
_hb_gettid()
TID=1
1. hb_threadMutexLock()
_hb_gettid()
TID=1
_hb_gettid()
TID=1
2. hb_threadMutexLock()
_hb_gettid()
TID=1
1. hb_threadMutexLock()
_hb_gettid()
TID=1
_hb_gettid()
TID=1
2. hb_threadMutexLock()
_hb_gettid()
TID=1
1. hb_threadMutexLock()
_hb_gettid()
TID=1
_hb_gettid()
TID=1
2. hb_threadMutexLock()
_hb_gettid()
TID=1
1. hb_threadMutexLock()
_hb_gettid()
TID=1
_hb_gettid()
TID=1
2. hb_threadMutexLock()
_hb_gettid()
TID=1
1. hb_threadMutexLock()
_hb_gettid()
TID=1
_hb_gettid()
TID=1
2. hb_threadMutexLock()
_hb_gettid()
TID=1
1. hb_threadMutexLock()
_hb_gettid()
TID=1
_hb_gettid()
TID=1
2. hb_threadMutexLock()
_hb_gettid()
TID=1
1. hb_threadMutexLock()
_hb_gettid()
TID=1
_hb_gettid()
TID=1
2. hb_threadMutexLock()
_hb_gettid()
TID=1
1. hb_inkeyPoll()
1. hb_threadMutexLock()
_hb_gettid()
TID=1
_hb_gettid()
TID=1
2. hb_threadMutexLock()
2. hb_inkeyPoll()
3. hb_inkeyPoll()
4. hb_inkeyPoll()
_hb_gettid()
TID=1
5. hb_inkeyPoll()
6. hb_inkeyPoll()
1. hb_threadMutexLock()
_hb_gettid()
TID=1
_hb_gettid()
TID=1
2. hb_threadMutexLock()
_hb_gettid()
TID=1
1. hb_inkeyPoll()
1. hb_threadMutexLock()
_hb_gettid()
TID=2
_hb_gettid()
TID=2
2. hb_threadMutexLock()
2. hb_inkeyPoll()
3. hb_inkeyPoll()
4. hb_inkeyPoll()
_hb_gettid()
TID=2
5. hb_inkeyPoll()
6. hb_inkeyPoll()
1. hb_threadMutexLock()
_hb_gettid()
TID=2
_hb_gettid()
TID=2
2. hb_threadMutexLock()
_hb_gettid()
TID=2
_hb_gettid()
TID=2
_hb_gettid()
TID=2
_hb_gettid()
TID=2
1. hb_threadMutexLock()
_hb_gettid()
TID=1
_hb_gettid()
TID=1
2. hb_threadMutexLock()
_hb_gettid()
TID=1
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour