You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ma...@hyperreal.org on 1999/05/31 01:49:02 UTC
cvs commit: apache-apr/pthreads/src/os/unix Makefile.tmpl multithread.c
manoj 99/05/30 16:49:02
Modified: pthreads/src/main Makefile.tmpl alloc.c scoreboard.c
pthreads/src/modules/proxy Makefile.tmpl proxy_cache.c
proxy_util.c
pthreads/src/modules/standard Makefile.tmpl mod_unique_id.c
pthreads/src/os/unix Makefile.tmpl
Removed: pthreads/src/include multithread.h
pthreads/src/os/unix multithread.c
Log:
More code cleanup. Get rid of multithread.[ch], so that we have one
consistent scheme for using mutexes, and to simplify the switch to a
portable runtime.
Revision Changes Path
1.9 +2 -2 apache-apr/pthreads/src/main/Makefile.tmpl
Index: Makefile.tmpl
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/main/Makefile.tmpl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -u -r1.8 -r1.9
--- Makefile.tmpl 1999/04/17 03:35:54 1.8
+++ Makefile.tmpl 1999/05/30 23:48:58 1.9
@@ -72,7 +72,7 @@
$(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
$(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
$(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/apr.h \
- $(INCDIR)/util_uri.h $(INCDIR)/multithread.h $(INCDIR)/http_log.h
+ $(INCDIR)/util_uri.h $(INCDIR)/http_log.h
buff.o: buff.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \
$(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
$(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
@@ -176,7 +176,7 @@
$(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/apr.h \
$(INCDIR)/util_uri.h $(INCDIR)/http_log.h $(INCDIR)/http_main.h \
$(INCDIR)/http_core.h $(INCDIR)/http_conf_globals.h \
- $(INCDIR)/scoreboard.h $(INCDIR)/multithread.h
+ $(INCDIR)/scoreboard.h
util.o: util.c $(INCDIR)/httpd.h $(INCDIR)/ap_config.h \
$(INCDIR)/ap_mmn.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
$(OSDIR)/os-inline.c $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
1.6 +14 -17 apache-apr/pthreads/src/main/alloc.c
Index: alloc.c
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/main/alloc.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -u -r1.5 -r1.6
--- alloc.c 1999/04/09 03:43:28 1.5
+++ alloc.c 1999/05/30 23:48:58 1.6
@@ -63,10 +63,10 @@
*/
#include "httpd.h"
-#include "multithread.h"
#include "http_log.h"
#include <stdarg.h>
+#include <pthread.h>
/* debugging support, define this to enable code which helps detect re-use
* of freed memory and other such nonsense.
@@ -199,8 +199,7 @@
static union block_hdr *block_freelist = NULL;
-static mutex *alloc_mutex = NULL;
-static mutex *spawn_mutex = NULL;
+static pthread_mutex_t alloc_mutex = PTHREAD_MUTEX_INITIALIZER;
#ifdef POOL_DEBUG
static char *known_stack_point;
static int stack_direction;
@@ -320,7 +319,7 @@
if (blok == NULL)
return; /* Sanity check --- freeing empty pool? */
- (void) ap_acquire_mutex(alloc_mutex);
+ (void) pthread_mutex_lock(&alloc_mutex);
old_free_list = block_freelist;
block_freelist = blok;
@@ -339,7 +338,7 @@
/* Finally, reset next pointer to get the old free blocks back */
blok->h.next = old_free_list;
- (void) ap_release_mutex(alloc_mutex);
+ (void) pthread_mutex_unlock(&alloc_mutex);
#endif
}
@@ -388,9 +387,9 @@
{
union block_hdr *blok;
- (void) ap_acquire_mutex(alloc_mutex);
+ (void) pthread_mutex_lock(&alloc_mutex);
blok = new_block(min_size);
- (void) ap_release_mutex(alloc_mutex);
+ (void) pthread_mutex_unlock(&alloc_mutex);
return blok;
}
@@ -435,7 +434,7 @@
union block_hdr *blok;
root_pool *new_pool;
- (void) ap_acquire_mutex(alloc_mutex);
+ (void) pthread_mutex_lock(&alloc_mutex);
blok = new_block(ROOT_HDR_BYTES);
new_pool = (root_pool *) blok->h.first_avail;
@@ -449,7 +448,7 @@
new_pool->p.first = new_pool->p.last = blok;
new_pool->p.thread_root = new_pool;
- (void) ap_release_mutex(alloc_mutex);
+ (void) pthread_mutex_unlock(&alloc_mutex);
return (pool *)new_pool;
}
@@ -513,8 +512,6 @@
known_stack_point = &s;
stack_var_init(&s);
#endif
- alloc_mutex = ap_create_mutex(NULL);
- spawn_mutex = ap_create_mutex(NULL);
permanent_pool = ap_make_root_pool();
return permanent_pool;
@@ -554,7 +551,7 @@
{
ap_clear_pool(a);
- (void) ap_acquire_mutex(alloc_mutex);
+ (void) pthread_mutex_lock(&alloc_mutex);
if (a->parent) {
if (a->parent->sub_pools == a)
a->parent->sub_pools = a->sub_next;
@@ -563,7 +560,7 @@
if (a->sub_next)
a->sub_next->sub_prev = a->sub_prev;
}
- (void) ap_release_mutex(alloc_mutex);
+ (void) pthread_mutex_unlock(&alloc_mutex);
free_blocks(a->thread_root, a->first);
}
@@ -860,9 +857,9 @@
cur_len = strp - blok->h.first_avail;
/* must try another blok */
- (void) ap_acquire_mutex(alloc_mutex);
+ (void) pthread_mutex_lock(&alloc_mutex);
nblok = new_block(2 * cur_len);
- (void) ap_release_mutex(alloc_mutex);
+ (void) pthread_mutex_unlock(&alloc_mutex);
memcpy(nblok->h.first_avail, blok->h.first_avail, cur_len);
ps->vbuff.curpos = nblok->h.first_avail + cur_len;
/* save a byte for the NUL terminator */
@@ -871,10 +868,10 @@
/* did we allocate the current blok? if so free it up */
if (ps->got_a_new_block) {
debug_fill(blok->h.first_avail, blok->h.endp - blok->h.first_avail);
- (void) ap_acquire_mutex(alloc_mutex);
+ (void) pthread_mutex_lock(&alloc_mutex);
blok->h.next = block_freelist;
block_freelist = blok;
- (void) ap_release_mutex(alloc_mutex);
+ (void) pthread_mutex_unlock(&alloc_mutex);
}
ps->blok = nblok;
ps->got_a_new_block = 1;
1.8 +0 -1 apache-apr/pthreads/src/main/scoreboard.c
Index: scoreboard.c
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/main/scoreboard.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -u -r1.7 -r1.8
--- scoreboard.c 1999/04/09 04:10:37 1.7
+++ scoreboard.c 1999/05/30 23:48:58 1.8
@@ -4,7 +4,6 @@
#include "http_core.h"
#include "http_conf_globals.h"
#include "scoreboard.h"
-#include "multithread.h"
#ifdef USE_SHMGET_SCOREBOARD
#include <sys/types.h>
#include <sys/ipc.h>
1.2 +2 -4 apache-apr/pthreads/src/modules/proxy/Makefile.tmpl
Index: Makefile.tmpl
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/modules/proxy/Makefile.tmpl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -u -r1.1 -r1.2
--- Makefile.tmpl 1999/01/21 23:08:35 1.1
+++ Makefile.tmpl 1999/05/30 23:48:59 1.2
@@ -69,8 +69,7 @@
$(INCDIR)/util_uri.h $(INCDIR)/http_config.h \
$(INCDIR)/http_protocol.h $(INCDIR)/explain.h \
$(INCDIR)/http_log.h $(INCDIR)/http_main.h \
- $(INCDIR)/util_date.h $(INCDIR)/multithread.h \
- $(INCDIR)/ap_md5.h
+ $(INCDIR)/util_date.h $(INCDIR)/ap_md5.h
proxy_connect.o: proxy_connect.c mod_proxy.h $(INCDIR)/httpd.h \
$(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \
$(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
@@ -104,5 +103,4 @@
$(INCDIR)/util_uri.h $(INCDIR)/http_config.h \
$(INCDIR)/http_protocol.h $(INCDIR)/explain.h \
$(INCDIR)/http_main.h $(INCDIR)/ap_md5.h \
- $(INCDIR)/multithread.h $(INCDIR)/http_log.h \
- $(INCDIR)/util_date.h
+ $(INCDIR)/http_log.h $(INCDIR)/util_date.h
1.7 +7 -10 apache-apr/pthreads/src/modules/proxy/proxy_cache.c
Index: proxy_cache.c
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/modules/proxy/proxy_cache.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -u -r1.6 -r1.7
--- proxy_cache.c 1999/03/22 20:43:39 1.6
+++ proxy_cache.c 1999/05/30 23:48:59 1.7
@@ -67,8 +67,8 @@
#else
#include <utime.h>
#endif /* WIN32 */
-#include "multithread.h"
#include "ap_md5.h"
+#include <pthread.h>
DEF_Explain
@@ -104,14 +104,11 @@
static long61_t curbytes, cachesize;
static time_t every, garbage_now, garbage_expire;
static char *filename;
-static mutex *garbage_mutex = NULL;
+static pthread_mutex_t garbage_mutex = PTHREAD_MUTEX_INITIALIZER;
int ap_proxy_garbage_init(server_rec *r, pool *p)
{
- if (!garbage_mutex)
- garbage_mutex = ap_create_mutex(NULL);
-
return (0);
}
@@ -128,14 +125,14 @@
{
static int inside = 0;
- (void) ap_acquire_mutex(garbage_mutex);
+ (void) pthread_mutex_lock(&garbage_mutex);
if (inside == 1) {
- (void) ap_release_mutex(garbage_mutex);
+ (void) pthread_mutex_unlock(&garbage_mutex);
return;
}
else
inside = 1;
- (void) ap_release_mutex(garbage_mutex);
+ (void) pthread_mutex_unlock(&garbage_mutex);
#if !defined(WIN32) && !defined(MPE) && !defined(OS2)
detached_proxy_garbage_coll(r);
@@ -143,9 +140,9 @@
help_proxy_garbage_coll(r);
#endif
- (void) ap_acquire_mutex(garbage_mutex);
+ (void) pthread_mutex_lock(&garbage_mutex);
inside = 0;
- (void) ap_release_mutex(garbage_mutex);
+ (void) pthread_mutex_unlock(&garbage_mutex);
}
1.5 +4 -1 apache-apr/pthreads/src/modules/proxy/proxy_util.c
Index: proxy_util.c
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/modules/proxy/proxy_util.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -u -r1.4 -r1.5
--- proxy_util.c 1999/03/17 17:01:44 1.4
+++ proxy_util.c 1999/05/30 23:48:59 1.5
@@ -59,11 +59,12 @@
#include "mod_proxy.h"
#include "http_main.h"
#include "ap_md5.h"
-#include "multithread.h"
#include "http_log.h"
#include "util_uri.h"
#include "util_date.h" /* get ap_checkmask() decl. */
+#include <pthread.h>
+
static int proxy_match_ipaddr(struct dirconn_entry *This, request_rec *r);
static int proxy_match_domainname(struct dirconn_entry *This, request_rec *r);
static int proxy_match_hostname(struct dirconn_entry *This, request_rec *r);
@@ -833,6 +834,8 @@
{
int i;
struct hostent *hp;
+/* XXX - Either get rid of TLS, or use pthread/APR functions */
+#define APACHE_TLS
static APACHE_TLS struct hostent hpbuf;
static APACHE_TLS u_long ipaddr;
static APACHE_TLS char *charpbuf[2];
1.2 +1 -1 apache-apr/pthreads/src/modules/standard/Makefile.tmpl
Index: Makefile.tmpl
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/Makefile.tmpl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -u -r1.1 -r1.2
--- Makefile.tmpl 1999/01/21 23:08:38 1.1
+++ Makefile.tmpl 1999/05/30 23:49:00 1.2
@@ -240,7 +240,7 @@
$(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h \
$(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \
$(INCDIR)/util_uri.h $(INCDIR)/http_config.h \
- $(INCDIR)/http_log.h $(INCDIR)/multithread.h
+ $(INCDIR)/http_log.h
mod_userdir.o: mod_userdir.c $(INCDIR)/httpd.h \
$(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \
$(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
1.4 +0 -1 apache-apr/pthreads/src/modules/standard/mod_unique_id.c
Index: mod_unique_id.c
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/mod_unique_id.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -u -r1.3 -r1.4
--- mod_unique_id.c 1999/03/18 16:35:48 1.3
+++ mod_unique_id.c 1999/05/30 23:49:01 1.4
@@ -65,7 +65,6 @@
#include "httpd.h"
#include "http_config.h"
#include "http_log.h"
-#include "multithread.h"
typedef struct {
unsigned int stamp;
1.2 +2 -2 apache-apr/pthreads/src/os/unix/Makefile.tmpl
Index: Makefile.tmpl
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/os/unix/Makefile.tmpl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -u -r1.1 -r1.2
--- Makefile.tmpl 1999/01/21 23:08:40 1.1
+++ Makefile.tmpl 1999/05/30 23:49:01 1.2
@@ -3,7 +3,7 @@
INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES)
LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
-OBJS= os.o os-inline.o multithread.o
+OBJS= os.o os-inline.o
LIB= libos.a
@@ -45,5 +45,5 @@
os.o: os.c $(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \
$(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \
$(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h os.h
-os.o: multithread.c $(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \
+os.o: $(INCDIR)/ap_config.h $(INCDIR)/ap_mmn.h \
$(INCDIR)/ap_config_auto.h