summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--Makefile49
-rw-r--r--Makefile.in24
-rw-r--r--condvar.c2
-rw-r--r--create.c2
5 files changed, 73 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 498d47f..722ef68 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
Sat Feb 18 16:2s1703:30 1999 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
+ * Makefile.in: Use libpthread32.a as the name of the DLL export
+ library instead of pthread.lib.
+
+ * condvar.c (pthread_cond_init): cv could have been used unitialised;
+ initialise.
+
+ * create.c (pthread_create): parms could have been used unitialised;
+ initialise.
+
* pthread.h (struct pthread_once_t_): Remove redefinition.
Sat Feb 13 03:03:30 1999 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..4ee92b0
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,49 @@
+RM = erase
+
+CC = g++
+
+AR = ar
+
+LD = gcc -mdll -e _DllMain@12
+
+OPT = -g -O2
+
+## Mingw32
+CFLAGS = $(OPT) -I. -DHAVE_CONFIG_H -Wall
+
+## Cygwin G++
+#CFLAGS = $(OPT) -fhandle-exceptions -I. -DHAVE_CONFIG_H -Wall
+
+OBJS = attr.o cancel.o cleanup.o condvar.o create.o dll.o \
+ exit.o fork.o global.o misc.o mutex.o private.o sched.o \
+ semaphore.o signal.o sync.o tsd.o
+
+INCL = implement.h pthread.h windows.h
+
+DLL = pthread.dll
+
+LIB = libpthread32.a
+
+
+all: $(LIB)
+
+$(LIB): $(DLL)
+ dlltool --def $(DLL:.dll=.def) --output-lib $@ --dllname $(DLL)
+
+.SUFFIXES: .dll
+
+$(DLL): $(OBJS)
+ $(LD) -o $@ $^ -Wl,--base-file,$*.base
+ dlltool --base-file=$*.base --def $*.def --output-exp $*.exp --dllname $@
+ $(LD) -o $@ $^ -Wl,--base-file,$*.base,$*.exp
+ dlltool --base-file=$*.base --def $*.def --output-exp $*.exp --dllname $@
+ $(LD) -o $@ $^ -Wl,$*.exp
+
+clean:
+ -$(RM) *~
+ -$(RM) $(LIB)
+ -$(RM) *.o
+ -$(RM) *.exe
+ -$(RM) $(DLL)
+ -$(RM) $(DLL:.dll=.base)
+ -$(RM) $(DLL:.dll=.exp)
diff --git a/Makefile.in b/Makefile.in
index 91a1580..4ee92b0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2,14 +2,18 @@ RM = erase
CC = g++
-# Mingw32
-CFLAGS = -g -I. -DHAVE_CONFIG_H -Wall
-
-# Cygwin G++
-#CFLAGS = -fhandle-exceptions -I. -DHAVE_CONFIG_H -Wall
+AR = ar
LD = gcc -mdll -e _DllMain@12
+OPT = -g -O2
+
+## Mingw32
+CFLAGS = $(OPT) -I. -DHAVE_CONFIG_H -Wall
+
+## Cygwin G++
+#CFLAGS = $(OPT) -fhandle-exceptions -I. -DHAVE_CONFIG_H -Wall
+
OBJS = attr.o cancel.o cleanup.o condvar.o create.o dll.o \
exit.o fork.o global.o misc.o mutex.o private.o sched.o \
semaphore.o signal.o sync.o tsd.o
@@ -21,20 +25,19 @@ DLL = pthread.dll
LIB = libpthread32.a
-all: $(DLL)
+all: $(LIB)
-$(LIB): $(OBJS)
- $(AR) r $@ $^
+$(LIB): $(DLL)
+ dlltool --def $(DLL:.dll=.def) --output-lib $@ --dllname $(DLL)
.SUFFIXES: .dll
-$(DLL): $(OBJS)
+$(DLL): $(OBJS)
$(LD) -o $@ $^ -Wl,--base-file,$*.base
dlltool --base-file=$*.base --def $*.def --output-exp $*.exp --dllname $@
$(LD) -o $@ $^ -Wl,--base-file,$*.base,$*.exp
dlltool --base-file=$*.base --def $*.def --output-exp $*.exp --dllname $@
$(LD) -o $@ $^ -Wl,$*.exp
- dlltool --def $*.def --output-lib $*.lib --dllname $@
clean:
-$(RM) *~
@@ -44,4 +47,3 @@ clean:
-$(RM) $(DLL)
-$(RM) $(DLL:.dll=.base)
-$(RM) $(DLL:.dll=.exp)
- -$(RM) $(DLL:.dll=.lib)
diff --git a/condvar.c b/condvar.c
index 891705d..eb549b5 100644
--- a/condvar.c
+++ b/condvar.c
@@ -281,7 +281,7 @@ pthread_cond_init (pthread_cond_t * cond, const pthread_condattr_t * attr)
*/
{
int result = EAGAIN;
- pthread_cond_t cv;
+ pthread_cond_t cv = NULL;
if ((attr != NULL && *attr != NULL) &&
((*attr)->pshared == PTHREAD_PROCESS_SHARED))
diff --git a/create.c b/create.c
index 292097d..f87fa56 100644
--- a/create.c
+++ b/create.c
@@ -56,7 +56,7 @@ pthread_create (pthread_t * tid,
pthread_t thread;
int result = EAGAIN;
int run = TRUE;
- ThreadParms *parms;
+ ThreadParms *parms = NULL;
long stackSize;
if ((thread = (pthread_t) calloc (1, sizeof (*thread))) ==