delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/01/31/17:40:46

Date: Wed, 31 Jan 1996 23:32:38 +0100
To: djgpp AT sun DOT soe DOT clarkson DOT edu
From: Anton Helm <tony AT nt DOT tuwien DOT ac DOT at>
Subject: A go32 story ...

I know that go32 is going to die soon, but I want to inform you about a
strange behavior
we discovered last week.

We are working on a large project (a compiler) that is split into several
executables.
All of them are compiled with DJGPP and go32.exe is linked to all of them
(with coff2exe -s ...). 

Most of the executables are called with spawn() commands by a "shell" program.
During one run of the "shell" more than 100 spawn() might be used (depends
on data).
The different executables interchange data by temporary files.

The program was running here on my PC without any problems. My FILES in
config.sys were set to 30.
Then we transferred the executables to another PC and when running the
program there with the same data we got the following:

One of the spawn()-ed program suddenly stopped with an error message saying
that it couldn't open a file (the filename and the actual position of the
error message varied with different data).
The error message came from my error handling routines and indicated that an
fopen() returned NULL.

We had to set FILES to 255 to run the program without error messages.

I could fill in here several paragraphs about what we tried to solve the
problem, but it would be boring and I skip it. Here is the surprising result:

When we put a separate copy of go32.exe into a directory which was in the
PATH (note that go32 was already in the executables) everything worked fine
(with FILES set to 30).


Conclusion:
If you give your DJGPP compiled program to someone else there might be
circumstances which require to supply an extra copy of go32 even if you have
"linked" go32 into your executables.


If someone could give an explanation (or even a good guess) what's going on
here I invite her/him to send comments to this mailing-list/newsgroup or my
private mail address (see below).


That's all for now, I'm going home to get some sleep.


Tony



***************************************************************************
Dipl.-Ing. Anton HELM             *  mailto:tony AT nt DOT tuwien DOT ac DOT at
Institut fuer Nachrichtentechnik  *  http://dictator.nt.tuwien.ac.at/~tony/
und Hochfrequenztechnik           *  http://www.tuwien.ac.at/nthft/
Guszhausstr. 25/389               *  phoneto:+43-1-58801-3520
A-1040 Wien, AUSTRIA              *  faxto:+43-1-5870583
***************************************************************************

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019