Facebook
From Reliable Terrapin, 9 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 494
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <errno.h>
  5. #include <sys/types.h>
  6. #include <sys/ipc.h>
  7. #include <sys/msg.h>
  8.  
  9. #define ROZ 512
  10. struct msgbuf
  11. {
  12.    long mtype;     /* rodzaj komunikatu, musi by� > 0 */
  13.    char mtext[ROZ];  /* przekazywane dane */
  14. };
  15.  
  16. int main(int argc, char *argv[])
  17. {
  18.  
  19.   int msg_id;
  20.   char tab[20];
  21.   char bufor[ROZ];
  22.   struct msgbuf some_data;
  23.   int run=1;
  24.  
  25.   msg_id=msgget(45821,0666|IPC_CREAT);
  26.  
  27.   if(msg_id==-1)
  28.   {
  29.     fprintf(stderr,"blad shmget %d %s\n",errno,strerror(errno));
  30.     exit(1);
  31.   }
  32.  
  33.   printf("Kolejka  %d\n", msg_id);
  34.   sprintf(tab,"ipcs -q -i %d",msg_id);
  35.   system(tab);
  36.   int i=0;
  37.  
  38.   while(run)
  39.   {
  40.  
  41.     for(i;i<100;i++){
  42.     printf("Wprowadz tekst: ");
  43.     fgets(bufor,ROZ,stdin);
  44.     some_data.mtype = 1;
  45.  
  46.     strcpy(some_data.mtext, bufor);
  47.  
  48.     if(msgsnd(msg_id, (void *)&some_data,ROZ,0) == -1)
  49.     {
  50.       fprintf(stderr, "msgsnd zawiodl b lad %d - %s\n",errno, strerror(errno));
  51.       exit(EXIT_FAILURE);
  52.     }
  53.     if(strncmp(bufor,"koniec",3) == 0)
  54.           run = 0;
  55.   }
  56.   }
  57.   system("ipcs -q");
  58.  
  59.  
  60.  
  61.  
  62.   exit(0);
  63. }
  64.