From 5500b9dc74cad2a39c663e1c46454427d1e72a92 Mon Sep 17 00:00:00 2001 From: Hizenberg469 Date: Sun, 23 Feb 2025 18:36:39 +0000 Subject: [PATCH] done till multi2.c --- select_poll/multi1.c | 22 +++++++++++++++++++++ select_poll/multi2 | Bin 0 -> 16264 bytes select_poll/multi2.c | 46 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 select_poll/multi1.c create mode 100755 select_poll/multi2 create mode 100644 select_poll/multi2.c diff --git a/select_poll/multi1.c b/select_poll/multi1.c new file mode 100644 index 0000000..25adc64 --- /dev/null +++ b/select_poll/multi1.c @@ -0,0 +1,22 @@ +#include +#include +#include +#include + +int main(){ + int fd1, fd2; + char buf[10]; + int n; + fd1 = open("./pone", O_RDWR); + fd2 = open("./ptwo", O_RDWR); + + printf(" Trying to read from pone \n"); + n = read( fd1, buf, 10); + + printf(" read data = %s from pone \n", buf); + printf(" Trying to read from ptwo\n"); + n = read( fd2, buf, 10); + + printf(" read data = %s from ptwo \n", buf); + return 0; +} \ No newline at end of file diff --git a/select_poll/multi2 b/select_poll/multi2 new file mode 100755 index 0000000000000000000000000000000000000000..62dda9de4d23ac3018696cf91500ce505cdcdd7f GIT binary patch literal 16264 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 Pe-VG!pv-kSxJ2=9IuY>E literal 0 HcmV?d00001 diff --git a/select_poll/multi2.c b/select_poll/multi2.c new file mode 100644 index 0000000..5203e6e --- /dev/null +++ b/select_poll/multi2.c @@ -0,0 +1,46 @@ +#include +#include +#include +#include +#include +#include + +int main(){ + + int fd1, fd2; + fd_set read_set, write_set; + char buf[10]; + struct timeval timeout; + int n; + + timeout.tv_sec = 10; + fd1 = open("./pone", O_RDWR); + fd2 = open("./ptwo", O_RDWR); + + FD_ZERO(&read_set); + FD_SET(fd1, &read_set); + FD_SET(fd2, &read_set); + + n = select(FD_SETSIZE, &read_set, NULL, NULL, &timeout); + if( n < 0 ){ + perror("select "); + exit(1); + } + + // test whether fd1 is ready or not + if( FD_ISSET(fd1, &read_set) ){ + printf(" reading from fd1 (pone)\n"); + n = read(fd1, buf, 10); + printf(" read data = %s from pone \n", buf); + } + + // test whether fd2 is ready or not + if( FD_ISSET(fd2, &read_set) ){ + printf(" reading from fd2 (ptwo)\n"); + n = read(fd2, buf, 10); + printf(" read data = %s from ptwo \n", buf); + } + + return 0; + +} \ No newline at end of file