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

Conference lassie::ucx

Title:DEC TCP/IP Services for OpenVMS
Notice:Note 2-SSB Kits, 3-FT Kits, 4-Patch Info, 7-QAR System
Moderator:ucxaxp.ucx.lkg.dec.com::TIBBERT
Created:Thu Nov 17 1994
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:5568
Total number of notes:21492

5343.0. "socket program doesn't like event flag on VMA Alpha V7.1 (or vice versa) ..." by BACHUS::SABLON (Mich�le Sablon, TP/IM Support Belgium 856-7238) Mon Mar 17 1997 12:24

VMS Alpha V7.1
UCX V4.1 & 4.1-4

    I'm cross-posting this note in btoth UCX and VMS note file: don't know if
    it is a VMS or an UCX problem.

    The program below is a reproducer that runs properly in V6.2 (both VAX &
    Alpha). It also runs on VAX/VMS V7.1. VAX version of UCX is also V4.1-3.
    UCX on AXP VMS V7.1 is V4.1-4. UCX on AXP VMS V6.2 is unknown.

    The program just performs some event flag initialisation, call socket then
    wait for the event flag. In V7.1, it doesn't wait anymore.

    Any idea ?
    Michele.

-----

/**************************************************************************

socket_ef.c

Problem : wait ends immediately !

AXP
OpenVMS version : 7.1
original version in CXX but the test here is in DEC C

**************************************************************************/
#include <types.h>
#include <in.h>
#include <netdb.h>
#include <inet.h>
#include <ucx$inetdef.h>
//#include <iostream.h>                         ! original version in CXX
#include <stdio.h>
#include <socket.h>
#include <starlet.h>
#include <lib$routines.h>

int listener;

void main()
{
    long efNumber;
    int  i;
    unsigned long state;
    unsigned long status;

    //Clear all events in cluster
    for (i = 63;i>32;i--)
            sys$clref (i);

    //Get free eventflag
    lib$get_ef(&efNumber);

    //Display actual state of eventflags
    sys$readef(efNumber,&state);
    //cout << "State ef's " << hex << state << endl;            ! CXX
    fprintf( stdout, "State ef's %X \n", state);

    //Get socket
    listener = socket (AF_INET, SOCK_STREAM, 0);
    if (listener == -1)
        //cout<<"SocketError "<< listener << endl;              ! CXX
    fprintf( stdout, "State ef's %X \n", state);

    //Wait on "our own" eventflag
    //cout<<"Wait on eventflag "<< dec << efNumber<<endl;       ! CXX
    fprintf( stdout, "Wait on eventflag %d \n", efNumber);
    status = sys$waitfr(efNumber);
    //cout<<"End wait. Status "<<status << endl;                ! CXX
    fprintf( stdout, "End wait. Status %d \n", status);
}

/*

$ cc/prefix=all socket_ef
$ link socket_ef
$ socket_ef

$! On VAX VMS V6.2 and V7.1:
State ef's 0
State ef's 40000000
Wait on eventflag 63
 Interrupt

$ stop

$! On VMS Alpha V7.1:
State ef's 0
State ef's 80000000
Wait on eventflag 63
End wait. Status 1
$

That's it !
*/

T.RTitleUserPersonal
Name
DateLines
5343.1something around asetting event flag 63 !?BACHUS::SABLONMich�le Sablon, TP/IM Support Belgium 856-7238Tue Mar 18 1997 12:061
Discussion going in VMS note 338 
5343.2SPECXN::DERAMODan D&#039;EramoTue Mar 18 1997 13:483
        See also topic 5057 here.
        
        Dan
5343.3BACHUS::SABLONMich�le Sablon, TP/IM Support Belgium 856-7238Mon Mar 24 1997 07:508
Yep,

I found that problem through comet. Don't know why I didn't the first time !

Eco kit solve it. Evrything OK.

Thanks a lot,
Mich�le.