1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
diff -ur tinyhttpd-0.1.0/httpd.c tinyhttpd-0.1.0-patched/httpd.c
--- tinyhttpd-0.1.0/httpd.c 2001-04-21 19:13:13.000000000 -0500
+++ tinyhttpd-0.1.0-patched/httpd.c 2007-07-02 09:19:27.000000000 -0500
@@ -4,14 +4,6 @@
* CSE 4344 (Network concepts), Prof. Zeigler
* University of Texas at Arlington
*/
-/* This program compiles for Sparc Solaris 2.6.
- * To compile for Linux:
- * 1) Comment out the #include <pthread.h> line.
- * 2) Comment out the line that defines the variable newthread.
- * 3) Comment out the two lines that run pthread_create().
- * 4) Uncomment the line that runs accept_request().
- * 5) Remove -lsocket from the Makefile.
- */
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
@@ -22,7 +14,6 @@
#include <strings.h>
#include <string.h>
#include <sys/stat.h>
-#include <pthread.h>
#include <sys/wait.h>
#include <stdlib.h>
@@ -30,7 +21,6 @@
#define SERVER_STRING "Server: jdbhttpd/0.1.0\r\n"
-void accept_request(int);
void bad_request(int);
void cat(int, FILE *);
void cannot_execute(int);
@@ -102,7 +92,7 @@
}
}
- sprintf(path, "htdocs%s", url);
+ sprintf(path, "/var/www%s", url);
if (path[strlen(path) - 1] == '/')
strcat(path, "index.html");
if (stat(path, &st) == -1) {
@@ -475,11 +465,10 @@
int main(void)
{
int server_sock = -1;
- u_short port = 0;
+ u_short port = 80;
int client_sock = -1;
struct sockaddr_in client_name;
int client_name_len = sizeof(client_name);
- pthread_t newthread;
server_sock = startup(&port);
printf("httpd running on port %d\n", port);
@@ -491,9 +480,7 @@
&client_name_len);
if (client_sock == -1)
error_die("accept");
- /* accept_request(client_sock); */
- if (pthread_create(&newthread , NULL, accept_request, client_sock) != 0)
- perror("pthread_create");
+ accept_request(client_sock);
}
close(server_sock);
diff -ur tinyhttpd-0.1.0/Makefile tinyhttpd-0.1.0-patched/Makefile
--- tinyhttpd-0.1.0/Makefile 2001-04-21 17:03:39.000000000 -0500
+++ tinyhttpd-0.1.0-patched/Makefile 2007-07-02 10:29:41.000000000 -0500
@@ -1,7 +1,7 @@
all: httpd
httpd: httpd.c
- gcc -W -Wall -lsocket -lpthread -o httpd httpd.c
+ $(CC) $(CFLAGS) $(LDFLAGS) -W -Wall -lpthread -o httpd httpd.c
clean:
- rm httpd
+ rm -f httpd
|