📄 strclithread.lc
字号:
#include "unpthread.h"## 1 ##src/threads/strclithread.c##void *copyto(void *);## 2 ##src/threads/strclithread.c##static int sockfd; /* global for both threads to access */## 3 ##src/threads/strclithread.c##static FILE *fp;## 4 ##src/threads/strclithread.c##void## 5 ##src/threads/strclithread.c##str_cli(FILE *fp_arg, int sockfd_arg)## 6 ##src/threads/strclithread.c##{## 7 ##src/threads/strclithread.c## char recvline[MAXLINE];## 8 ##src/threads/strclithread.c## pthread_t tid;## 9 ##src/threads/strclithread.c## sockfd = sockfd_arg; /* copy arguments to externals */## 10 ##src/threads/strclithread.c## fp = fp_arg;## 11 ##src/threads/strclithread.c## Pthread_create(&tid, NULL, copyto, NULL);## 12 ##src/threads/strclithread.c## while (Readline(sockfd, recvline, MAXLINE) > 0)## 13 ##src/threads/strclithread.c## Fputs(recvline, stdout);## 14 ##src/threads/strclithread.c##}## 15 ##src/threads/strclithread.c##void *## 16 ##src/threads/strclithread.c##copyto(void *arg)## 17 ##src/threads/strclithread.c##{## 18 ##src/threads/strclithread.c## char sendline[MAXLINE];## 19 ##src/threads/strclithread.c## while (Fgets(sendline, MAXLINE, fp) != NULL)## 20 ##src/threads/strclithread.c## Writen(sockfd, sendline, strlen(sendline));## 21 ##src/threads/strclithread.c## Shutdown(sockfd, SHUT_WR); /* EOF on stdin, send FIN */## 22 ##src/threads/strclithread.c## return (NULL);## 23 ##src/threads/strclithread.c## /* 4return (i.e., thread terminates) when end-of-file on stdin */## 24 ##src/threads/strclithread.c##}## 25 ##src/threads/strclithread.c##
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -