|
Anton, The proper way to handle this is in UNIX/POSIX is with a mutex. Where your code locks/waits for a mutex used by all the apps that use the file. Then once your code is done using the file, release the mutex so the next waiter can proceed. But if you are calling the file APIs from RPG, you can just as effectively ( and more easily ) ALCOBJ an object on the system. Create a data area special for this purpose, then call a cl pgm to ALCOBJ the data area before using the file. After the file usage is done, call QCMDEXC to DLCOBJ the data area. The nice thing about the ALCOBJ/DTAARA approach is that you can store the name of the using job in the dtaara for troubleshooting purposes. -Steve -----Original Message----- From: Anton Gombkötö [mailto:gombkoetoe@xxxxxxxxxx] Sent: Tuesday, October 14, 2003 2:24 PM To: RPG programming on the AS400 / iSeries Subject: 3029 - Resource busy when opening IFS file Hi folks, we are somewhere between the beginning and the middle of some stress test of our new application, where we write and read to the IFS using the UNIX style APIs from RPG quite a bit. The whole thing is something like a mail office. Clients send and receive messages=files; these are stored in "mailboxes" = IFS files. When we have some hundred jobs running, we receive the message "3029" which means "ressource busy". This happens not very often (yet), in 10.000 times it appears about 1 time. What does it exactly mean? The IFS is busy? That would be a bit soon for my taste; a tester just runs some scripts on just 3 PCs that FTP files to the system, about 2.000 files in total at the moment, size of about 3KB, containing 5 messages each, so we have 2.000 files with a total data of 6MB that have to be copied and 10.000 files that have to be splitted out of these 2.000. And in the process of that we do receive 3029 for the OPEN (no matter WRITE/READ) either 0 times, 1 times or 2 times. Due to the design, we can't really Did anyone else receive this one? What do you do in your program when you receive it? Just wait a second and try again? (That seems to work all the time). Or is there something to set, look at or ? Thanks in advance for any advice! _______________________________________________ This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.