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

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

3586.0. ""C" pipes and XtAddInput" by CUJO::BROTHER (George Brother) Mon Nov 05 1990 15:56

I have a customer who is tring to move some "C" and X11 code over from ULTRIX
where it all works fine. He is using pipes to communicate between two processes.
This part works fine on VMS, however when he trys to use this to put the 
reading of the pipe into "X" we run in to trouble. On the UNIX side the way
this works is as follows:

	XtAddInput (inpipe2, XtInputReadMask, read_pipe, NULL);

inpipes is the fid associated with the pipe, XtInputReadMask is the type of 
pipe activity we care about and read_pipe is the routine to call when data shows
up on the pipe.

According to bookreader docs I am looking at it works differently on VMS; the
first arg is a pointer to an event flag, and the second is a pointer to an 
I/O status block. I know what both of those things are but can find no way to
get the event flag associated with the pipe. 

The other confusing thing is that if I look in the header file DECW$DWTENTRY.H
in SYS$SHARE, it would appear that XT$ADD_INPUT wants the arguments the same
way that ULTRIX does, that is fid and mask. This does not work.

Does anyone have any experience doing this? What should the arguments to
XtAddInput really be?

thanks,
/george

T.RTitleUserPersonal
Name
DateLines
3586.1PSW::WINALSKICareful with that VAX, EugeneMon Nov 05 1990 17:349
If you're using the C I/O calls to talk to the pipe (acutally a mailbox, of
course), you can't get this to work.  You will have to do $QIOs to the mailbox
and give the event flag and IOSB you're using to XtAddInput().

If I were you I'd find a different way to approach the interprocess
communication problem than using XtAddInput().  The VMS way to handle such
things would be I/O completion ASTs.

--PSW