⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pipe4.c

📁 gdb-6.8 Linux下的调试程序 最新版本
💻 C
字号:
/* Check that TRT happens for pipe corner cases.#notarget: cris*-*-elf*/#include <stddef.h>#include <signal.h>#include <stdlib.h>#include <stdio.h>#include <unistd.h>#include <errno.h>#include <limits.h>void err (const char *s){  perror (s);  abort ();}int main (void){  int pip[2];  char c;  int pipemax;  if (pipe (pip) != 0)    err ("pipe");#ifdef PIPE_MAX  pipemax = PIPE_MAX;#else  pipemax = fpathconf (pip[1], _PC_PIPE_BUF);#endif  if (pipemax <= 0)    {      fprintf (stderr, "Bad pipemax %d\n", pipemax);      abort ();    }  /* Writing to wrong end of pipe.  */  if (write (pip[0], "argh", 1) != -1      || errno != EBADF)    err ("write pipe");  errno = 0;  /* Reading from wrong end of pipe.  */  if (read (pip[1], &c, 1) != -1      || errno != EBADF)    err ("write pipe");  errno = 0;  if (close (pip[0]) != 0)    err ("close");  if (signal (SIGPIPE, SIG_IGN) != SIG_DFL)    err ("signal");  /* Writing to pipe with closed read end.  */  if (write (pip[1], "argh", 1) != -1      || errno != EPIPE)    err ("write closed");  printf ("pass\n");  exit (0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -