Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/un.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <sys/stat.h>
- #include <signal.h>
- #define MAXBUF 256
- char buf[MAXBUF];
- int sockfd;
- /*char* ReadCfg(){
- struct stat st;
- stat("/serv.cfg", &st);
- char *spath=malloc(st.st_size-1);
- FILE *file;
- file=fopen("./serv.cfg","r");
- fgets(spath, st.st_size, file);
- fclose(file);
- return spath;
- }
- char* CreateIPC(char *sockpath){
- int saddrlen;
- struct sockaddr_un serv_addr;
- if((sockfd=socket(AF_UNIX,SOCK_DGRAM,0))<0){
- printf("Cannot create socket\n");
- exit(1);
- }
- bzero(&serv_addr,sizeof(serv_addr));
- serv_addr.sun_family=AF_UNIX;
- strcpy(serv_addr.sun_path,sockpath);
- saddrlen=sizeof(serv_addr.sun_family)+strlen(serv_addr.sun_path); //почему не sizof(serv_addr)
- if(bind(sockfd,(struct sockaddr *)&serv_addr,saddrlen)<0){
- printf("error while binding socket\n");
- exit(1);
- }
- }*/
- void hup_handler(int sign){
- printf("Signal recieved\n");
- }
- main(){
- struct sigaction sa;
- sa.sa_handler=hup_handler;
- sigaction(SIGHUP,&sa,NULL);
- struct sockaddr_un clnt_addr;
- int n,caddrlen,max_caddrlen,saddrlen;
- char *sockpath;
- /*ReadCfg();
- /*if(access(sockpath, F_OK)==0){
- printf("IPC already exists!\n");
- exit(1);
- }
- CreateIPC(sockpath);
- max_caddrlen=sizeof(clnt_addr);
- /*while(1){
- caddrlen=max_caddrlen;
- n=recvfrom(sockfd,buf,MAXBUF,0, (struct sockaddr *) &clnt_addr,&caddrlen);
- if(n<0){
- printf("Error while receiving the message");
- exit(1);
- }
- if(sendto(sockfd,buf,n,0,(struct sockaddr *)&clnt_addr,caddrlen)!=n){
- printf("Error while sending the message");
- exit(1);
- }
- }*/
- printf("Before cycle\n");
- while(1)
- sleep(1);
- }
Advertisement
Add Comment
Please, Sign In to add comment