[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
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.R | Title | User | Personal Name | Date | Lines |
---|
5343.1 | something around asetting event flag 63 !? | BACHUS::SABLON | Mich�le Sablon, TP/IM Support Belgium 856-7238 | Tue Mar 18 1997 12:06 | 1 |
| Discussion going in VMS note 338
|
5343.2 | | SPECXN::DERAMO | Dan D'Eramo | Tue Mar 18 1997 13:48 | 3 |
| See also topic 5057 here.
Dan
|
5343.3 | | BACHUS::SABLON | Mich�le Sablon, TP/IM Support Belgium 856-7238 | Mon Mar 24 1997 07:50 | 8 |
| 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.
|