Ai
12 Star 0 Fork 8

src-openEuler/webbench

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
webbench-remove-socket-file-and-reimplement-function.patch 5.09 KB
一键复制 编辑 原始数据 按行查看 历史
myeuler 提交于 2020-05-14 00:11 +08:00 . init package
diff -urN webbench-1.5/Makefile webbench-1.5-bak/Makefile
--- webbench-1.5/Makefile 2004-06-25 17:59:19.000000000 +0800
+++ webbench-1.5-bak/Makefile 2020-05-03 15:32:02.994638565 +0800
@@ -12,11 +12,10 @@
-ctags *.c
install: webbench
+ install -d $(DESTDIR)$(PREFIX)/bin
+ install -d $(DESTDIR)$(PREFIX)/share/man/man1
install -s webbench $(DESTDIR)$(PREFIX)/bin
- install -m 644 webbench.1 $(DESTDIR)$(PREFIX)/man/man1
- install -d $(DESTDIR)$(PREFIX)/share/doc/webbench
- install -m 644 debian/copyright $(DESTDIR)$(PREFIX)/share/doc/webbench
- install -m 644 debian/changelog $(DESTDIR)$(PREFIX)/share/doc/webbench
+ install -m 644 webbench.1 $(DESTDIR)$(PREFIX)/share/man/man1
webbench: webbench.o Makefile
$(CC) $(CFLAGS) $(LDFLAGS) -o webbench webbench.o $(LIBS)
@@ -28,13 +27,13 @@
-debian/rules clean
rm -rf $(TMPDIR)
install -d $(TMPDIR)
- cp -p Makefile webbench.c socket.c webbench.1 $(TMPDIR)
+ cp -p Makefile webbench.c webbench.1 $(TMPDIR)
install -d $(TMPDIR)/debian
-cp -p debian/* $(TMPDIR)/debian
ln -sf debian/copyright $(TMPDIR)/COPYRIGHT
ln -sf debian/changelog $(TMPDIR)/ChangeLog
-cd $(TMPDIR) && cd .. && tar cozf webbench-$(VERSION).tar.gz webbench-$(VERSION)
-webbench.o: webbench.c socket.c Makefile
+webbench.o: webbench.c Makefile
.PHONY: clean install all tar
diff -urN webbench-1.5/socket.c webbench-1.5-bak/socket.c
--- webbench-1.5/socket.c 2004-01-12 22:46:42.000000000 +0800
+++ webbench-1.5-bak/socket.c 1970-01-01 08:00:00.000000000 +0800
@@ -1,58 +0,0 @@
-/* $Id: socket.c 1.1 1995/01/01 07:11:14 cthuang Exp $
- *
- * This module has been modified by Radim Kolar for OS/2 emx
- */
-
-/***********************************************************************
- module: socket.c
- program: popclient
- SCCS ID: @(#)socket.c 1.5 4/1/94
- programmer: Virginia Tech Computing Center
- compiler: DEC RISC C compiler (Ultrix 4.1)
- environment: DEC Ultrix 4.3
- description: UNIX sockets code.
- ***********************************************************************/
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <fcntl.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-#include <sys/time.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-
-int Socket(const char *host, int clientPort)
-{
- int sock;
- unsigned long inaddr;
- struct sockaddr_in ad;
- struct hostent *hp;
-
- memset(&ad, 0, sizeof(ad));
- ad.sin_family = AF_INET;
-
- inaddr = inet_addr(host);
- if (inaddr != INADDR_NONE)
- memcpy(&ad.sin_addr, &inaddr, sizeof(inaddr));
- else
- {
- hp = gethostbyname(host);
- if (hp == NULL)
- return -1;
- memcpy(&ad.sin_addr, hp->h_addr, hp->h_length);
- }
- ad.sin_port = htons(clientPort);
-
- sock = socket(AF_INET, SOCK_STREAM, 0);
- if (sock < 0)
- return sock;
- if (connect(sock, (struct sockaddr *)&ad, sizeof(ad)) < 0)
- return -1;
- return sock;
-}
-
diff -urN webbench-1.5/webbench.c webbench-1.5-bak/webbench.c
--- webbench-1.5/webbench.c 2004-06-25 17:50:00.000000000 +0800
+++ webbench-1.5-bak/webbench.c 2020-05-03 15:15:41.193484347 +0800
@@ -14,8 +14,15 @@
* 2 - bad param
* 3 - internal error, fork failed
*
- */
-#include "socket.c"
+ */
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <stdio.h>
+#include <string.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <netdb.h>
+
#include <unistd.h>
#include <sys/param.h>
#include <rpc/types.h>
@@ -99,6 +106,48 @@
" -V|--version Display program version.\n"
);
};
+
+int createSock(const char * addr, unsigned short port)
+{
+ int sock;
+ int ret;
+ struct sockaddr_in svr_addr;
+ struct hostent *host = NULL;
+
+ if (!addr) {
+ return -1;
+ }
+ bzero(&svr_addr,sizeof(struct sockaddr_in));
+
+ svr_addr.sin_addr.s_addr=inet_addr(addr);
+ if (svr_addr.sin_addr.s_addr == INADDR_NONE) {
+ //try gethostbyname
+ host = gethostbyname(addr);
+ if (!host) {
+ printf("Can not resolve address : %s\n", addr);
+ return -1;
+ }
+ memcpy(&svr_addr.sin_addr, host->h_addr, host->h_length);
+ }
+
+ sock = socket(AF_INET, SOCK_STREAM, 0);
+ if (sock < 0) {
+ return -1;
+ }
+
+ svr_addr.sin_family=AF_INET;
+ svr_addr.sin_port = htons(port);
+
+ ret = connect(sock, (struct sockaddr*)&svr_addr, sizeof(svr_addr));
+ if (ret < 0) {
+ printf("Can not connect to address %s:%d\n", addr, port);
+ return -1;
+ }
+
+ return sock;
+}
+
+
int main(int argc, char *argv[])
{
int opt=0;
@@ -298,7 +347,7 @@
FILE *f;
/* check avaibility of target server */
- i=Socket(proxyhost==NULL?host:proxyhost,proxyport);
+ i=createSock(proxyhost==NULL?host:proxyhost,proxyport);
if(i<0) {
fprintf(stderr,"\nConnect to server failed. Aborting benchmark.\n");
return 1;
@@ -421,7 +470,7 @@
}
return;
}
- s=Socket(host,port);
+ s=createSock(host,port);
if(s<0) { failed++;continue;}
if(rlen!=write(s,req,rlen)) {failed++;close(s);continue;}
if(http10==0)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/src-openeuler/webbench.git
git@gitee.com:src-openeuler/webbench.git
src-openeuler
webbench
webbench
master

搜索帮助