Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!nbires!hao!gatech!rutgers!rochester!PT!ius1.cs.cmu.edu!edw From: edw@ius1.cs.cmu.edu (Eddie Wyatt) Newsgroups: comp.unix.questions Subject: Re: DATAGRAM sockets in the UNIX DOMAIN. Message-ID: <1041@ius1.cs.cmu.edu> Date: Sun, 13-Sep-87 13:38:51 EDT Article-I.D.: ius1.1041 Posted: Sun Sep 13 13:38:51 1987 Date-Received: Mon, 14-Sep-87 02:53:32 EDT References: <577@acer.stl.stc.co.uk> Organization: Carnegie-Mellon University, CS/RI Lines: 57 > /* SERVER */ > struct sockaddr_un sock; > fd=socket(AF_UNIX,SOCK_DGRAM,0); /*create a socket */ > bind(fd,&sock,sizeof(sock.sun_family)+1+strlen(sokname)) > /*binding tjhe socket */ > icotl(fd,FIOASYNC,(char*)&fioasync) /* setting flag for async I/O */ > icotl(fd,SIOCSPGRP,(char*)&pid) /* set process group pid for signal */ ^^^^ int pgrp = -getpid(); (void) signal(_WHICH_INTERRUPT,urgent_message_processor); (void) ioctl(port,SIOCSPGRP, (char *) &pgrp); > signal(SIGIO,sig_handler) > sigpause(SIGIO) > . > . > /* END SERVER */ > > > > > /* CLIENT */ > struct sockaddr_un sock; > fd=socket(AF_UNIX,SOCK_DGRAM,0); /*create a socket */ > bind(fd,&sock,sizeof(sock.sun_family)+1+strlen(sokname)) > /*binding the socket */ > icotl(fd,FIOASYNC,(char*)&fioasync) /* setting flag for async I/O */ > icotl(fd,SIOCSPGRP,(char*)&pid) /* set process group pid for signal */ ^^^ Same here. > signal(SIGIO,sig_handler) > . > . > sendto(fd,...) /*sendto SERVER */ > . > . > . > sigpause(SIGIO) > . > /* END CLIENT */ > > > sig_handler() performs recvfrom for the CLIENT and > recvfrom & sendto for the SERVER. Eddie Wyatt -- Eddie Wyatt e-mail: edw@ius1.cs.cmu.edu