Thanks to all, who replied.
1. I know well enough how to debug C-programs, even if they run as a service job - just do STRSRVJOB and then debug as usual. The problem was, that I've been and (still I am) not able to recreate the problem. I could not find a particular set of input parameters, that makes the program crash. So debugging gives nothing.

2. From what was advised, trying to capture an error and then forced file close before exit seemed pretty simple. But it assumed, that I know what exception to capture. Because capturing the exception "File cannot be cleared as it is held" gives me nothing, as it is already late. To find this exception I've placed several "printf" into the program to trace it somehow. But :-((( it never crashed since that time. Before that it crashed almost every day...

3. I though, that it will be a good idea to try using user space in QTEMP instead of temporary file in QTEMP - as was advised by one of the list members in private. It will allow to avoid blocking problems in general. It will of course require some experiments and programming, but may be its worth trying. And it also promises higher efficiency as well....

Jevgeni.



-----Original Message-----
From:
c400-l-bounces+jevgeni.astanovski=sampopank.ee@xxxxxxxxxxxx
[mailto:c400-l-bounces+jevgeni.astanovski=sampopank.ee@midrang
e.com]On Behalf Of Jevgeni Astanovski
Sent: Monday, April 28, 2008 4:33 PM
To: 'C programming iSeries / AS400'
Subject: Re: [C400-L] File left open in QZRCSRVS job



You can try a number of different approaches:

#pragma exception_handler to catch the exception and
deal with it


Thanks, Simon.
The problem is that I cannot yet find the particular error
code, after which the program does not work any more!
Of course there is a possibility to intercept everything :-)
But I've been also thinking in another direction: may be
there is a way to make an assumption on if the program
completed successfully or crashed according to the value of
*fpr pointer? For example if I will set it to NULL always
after closing file manually. But can I assume, that its value
will retian on the next call?
Maybe I have to make *fpr static or declare it outside
main(), that is the same, as I understand...
Is my understanding correct, that if *fpr is static, then it
is initialized to NULL and if automatic - no?




This is the C programming iSeries / AS400 (C400-L) mailing list
To post a message email: C400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/c400-l.


--
This is the C programming iSeries / AS400 (C400-L) mailing list
To post a message email: C400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/c400-l.



This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].