[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference vmszoo::vms_posix

Title:POSIX for OpenVMS - Public forum
Notice:Internal users of V2.0 please register in note 909
Moderator:STAR::PARKE
Created:Fri Jan 04 1991
Last Modified:Mon Jun 02 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1370
Total number of notes:5127

1365.0. "Help: EAGAIN errno 11 opening files" by GOYA::16.190.32.202::IB002::Antoniog () Thu Apr 03 1997 12:52

Hi all of you,
We have a customer porting a POSIX appl. to OVMS POSIX and they get errno 11 
when openning many files (c isam). They open the file, read the header, open 
the next, etc.
When they try to open the file 19 (2 disk files per c isam file gives file 
number 37) they get errno 11 (EAGAIN) witout any other clue.

OpenVMS AXP 6.2-1H2, POSIX 2.0.
The function: open (name, O_RDWR or O_RDONLY, S_ALLMODES)
If we sleep several seconds from open to the other, it WORKS !

They does not use CMA$RTL, OPEN_MAX, ...
SPTREQ & NPAGEVIR high

In the next reply you can find a test program that shows the error.

It works perfectly on DIGITAL UNIX and many many other platforms.

This test program works on VMS.

Pls. can any of you give us any help??

Antonio Gonzalez @SQO
DTN: 874-4361
SPAIN
T.RTitleUserPersonal
Name
DateLines
1365.1Example that shows the problemGOYA::16.190.32.202::IB002::AntoniogThu Apr 03 1997 13:0422
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <stat.h>

void main()
{
        int fp[80];
        int i;
        char fichero[80];
        char buffer[256];
        int n;

        for(i=0;i<40;i++) {
                sprintf(fichero,"fichero%d",i+1);
                fp[i]=open(fichero,O_RDONLY);
                if (fp[i]<0)
                        exit(printf("Error reading file \n"));
        }
        printf("process finished OK\n");
}
                     
1365.2define/sys/exe POSIX$FAST_IO 0GOYA::ANTONIOGAntonio Gonz�lezTue Apr 08 1997 14:277
    The answer is in the POSIX for OpenVMS Installation and System
    Management Guide, point 5.6.
    The parameter to change is POSIX$FAST_IO to 0
    DCL> define/sys/exe POSIX$FAST_IO 0
    
    Tips. If you don't have time to read manuals, you can always use
    Altavista.