DDE Problems and Thread Execution Order in win16 - win3.1

list at vmn.com.br list at vmn.com.br
Sat Mar 2 01:42:15 CST 2002


Hi,

I am trying to run a 16bit windows app on wine.

The app is  broken down into about 5 diferent EXE files.

The init sequence is something like:

---
PDV.EXE -> starts up and calls
DISP.EXE -> DISP and PDV communicate through DDE
BD2.EXE -> runs ctree, a dbf database
... (other apps get spawned by PDV.EXE)
If above sequence is successfull - PDV's User Interface get's completely built

PDV is ready for user interaction.
---

PDV has 2 windows and DISP has one.
All the other apps run minimized.

I can't get the APP to finish this init sequence.
It either hangs with a lot of 

err:ntdll:RtlpWaitForCriticalSection section 0x4010030c "syslevel.c:
Win16Mutex"
wait timed out, retrying (60 sec) fs=0897 

errors and/or crashes with an exception.

The app runs fine untill it get's to the point where it spawns
a second EXE.

It seems to me that the execution of these processess 
is not happening in the same order in win98 and in wine.

Could this be the case?

I read all I could find in the mailing lists and the manual
on this issue, specially wine-devel manual.

A good example to demonstrate this is the sequence where PDV.EXE
calls DISP.EXE and then tries to set up DDE.

The code in the APP is:
1. Run PDV.EXE 
2. PDV.EXE Calls DISP.EXE - DISP initializes
3. Set up DDE

The code being run by wine is
1. Run PDV.EXE
2. PDV.EXE Calls DISP.EXE - Disp starts initializing and
control is returned to PDV.EXE
3. PDV.EXE thinks DISP.EXE is initialized and tries to set up DDE.
   The call fails
4. DISP.EXE finishes initializing , does not receive a DDEConnect
   and just sit's there with no work to do.

The sequence where PDV.EXE calls BD.EXE is similar.
It seems that BD.EXE is not getting enough processor time to finish
it's init sequence, and so my app hangs during the init sequence.

I don't know how to test this.
I have access to the source of these apps.
If I compile them with debugging info, will I be able 
to see them in winedbg?

Is there a call in win16 to yield the app's execution?
Maybe if I called this often in my PDV.EXE code, things would
work out?

I have been at it for about two days and would certainly
appreciate an insight.

Please help me out !

Thanks,
Miguel


---
I would like to note that the app was not drawing it's
windows correctly - the windows where gray.
I thought this was due to the same
problem as the init sequence but when I set
winLook=win31 in the .wine/config file, this problem is solved.

-------------------------------------------------
This mail sent through IMP: webmail.vmn.com.br




More information about the wine-devel mailing list