]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/patches/pthreads.patch
Restore win32 dir from Branch-5.2 and update it
[bacula/bacula] / bacula / src / win32 / patches / pthreads.patch
1 Index: GNUmakefile
2 --- ../tmp/pthreads-snap-2004-06-22/GNUmakefile 2004-05-19 17:56:52.000000000 -0700
3 +++ ./GNUmakefile       2006-06-27 05:48:10.000000000 -0700
4 @@ -408,16 +408,16 @@
5         @ $(MAKE) clean GC
6  
7  GC:
8 -               $(MAKE) CC=gcc CLEANUP_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_OBJS)" $(GC_DLL)
9 +               $(MAKE) CC=mingw32-gcc CLEANUP_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_OBJS)" $(GC_DLL)
10  
11  GCE:
12 -               $(MAKE) CC=g++ CLEANUP_FLAGS="$(GCE_CFLAGS)" OBJ="$(DLL_OBJS)" $(GCE_DLL)
13 +               $(MAKE) CC=mingw32-g++ CLEANUP_FLAGS="$(GCE_CFLAGS)" OBJ="$(DLL_OBJS)" $(GCE_DLL)
14  
15  GC-inlined:
16 -               $(MAKE) CC=gcc CLEANUP_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" $(GC_INLINED_STAMP)
17 +               $(MAKE) CC=mingw32-gcc CLEANUP_FLAGS="$(GC_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" $(GC_INLINED_STAMP)
18  
19  GCE-inlined:
20 -               $(MAKE) CC=g++ CLEANUP_FLAGS="$(GCE_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" $(GCE_INLINED_STAMP)
21 +               $(MAKE) CC=mingw32-g++ CLEANUP_FLAGS="$(GCE_CFLAGS)" OBJ="$(DLL_INLINED_OBJS)" $(GCE_INLINED_STAMP)
22  
23  tests:
24         @ cd tests
25 @@ -436,24 +436,24 @@
26  
27  $(GC_DLL): $(DLL_OBJS)
28         $(CC) $(OPT) -shared -o $(GC_DLL) $(DLL_OBJS) $(LFLAGS)
29 -       dlltool -z pthread.def $(DLL_OBJS)
30 -       dlltool -k --dllname $@ --output-lib $(GC_LIB) --def $(PTHREAD_DEF)
31 +       mingw32-dlltool -z pthread.def $(DLL_OBJS)
32 +       mingw32-dlltool -k --dllname $@ --output-lib $(GC_LIB) --def $(PTHREAD_DEF)
33  
34  $(GCE_DLL): $(DLL_OBJS)
35         $(CC) $(OPT) -mthreads -shared -o $(GCE_DLL) $(DLL_OBJS) $(LFLAGS)
36 -       dlltool -z pthread.def $(DLL_OBJS)
37 -       dlltool -k --dllname $@ --output-lib $(GCE_LIB) --def $(PTHREAD_DEF)
38 +       mingw32-dlltool -z pthread.def $(DLL_OBJS)
39 +       mingw32-dlltool -k --dllname $@ --output-lib $(GCE_LIB) --def $(PTHREAD_DEF)
40  
41  $(GC_INLINED_STAMP): $(DLL_INLINED_OBJS)
42         $(CC) $(OPT) -shared -o $(GC_DLL) $(DLL_INLINED_OBJS) $(LFLAGS)
43 -       dlltool -z pthread.def $(DLL_INLINED_OBJS)
44 -       dlltool -k --dllname $(GC_DLL) --output-lib $(GC_LIB) --def $(PTHREAD_DEF)
45 +       mingw32-dlltool -z pthread.def $(DLL_INLINED_OBJS)
46 +       mingw32-dlltool -k --dllname $(GC_DLL) --output-lib $(GC_LIB) --def $(PTHREAD_DEF)
47         echo touched > $(GC_INLINED_STAMP)
48  
49  $(GCE_INLINED_STAMP): $(DLL_INLINED_OBJS)
50         $(CC) $(OPT) -mthreads -shared -o $(GCE_DLL) $(DLL_INLINED_OBJS)  $(LFLAGS)
51 -       dlltool -z pthread.def $(DLL_INLINED_OBJS)
52 -       dlltool -k --dllname $(GCE_DLL) --output-lib $(GCE_LIB) --def $(PTHREAD_DEF)
53 +       mingw32-dlltool -z pthread.def $(DLL_INLINED_OBJS)
54 +       mingw32-dlltool -k --dllname $(GCE_DLL) --output-lib $(GCE_LIB) --def $(PTHREAD_DEF)
55         echo touched > $(GCE_INLINED_STAMP)
56  
57  clean:
58 Index: ptw32_semwait.c
59 --- ../tmp/pthreads-snap-2004-06-22/ptw32_semwait.c     2004-05-17 00:59:47.000000000 -0700
60 +++ ./ptw32_semwait.c   2006-06-27 05:52:59.000000000 -0700
61 @@ -41,7 +41,7 @@
62  #include "implement.h"
63  
64  
65 -INLINE int
66 +int
67  ptw32_semwait (sem_t * sem)
68       /*
69        * ------------------------------------------------------
70 --- /tmp/pthread_getspecific.c.bak      2008-07-12 17:26:03.000000000 +0200
71 +++ pthread_getspecific.c       2008-07-12 17:26:03.000000000 +0200
72 @@ -63,13 +63,18 @@
73        * ------------------------------------------------------
74        */
75  {
76 -  int lasterror = GetLastError ();
77 -  int lastWSAerror = WSAGetLastError ();
78 +  void *ptr;
79  
80 -  void *ptr = TlsGetValue (key->key);
81 +  if (key == NULL) {
82 +     ptr = NULL;
83 +  } else {
84 +     int lasterror = GetLastError ();
85 +     int lastWSAerror = WSAGetLastError ();
86  
87 -  SetLastError (lasterror);
88 -  WSASetLastError (lastWSAerror);
89 +     ptr = TlsGetValue(key->key);
90  
91 +     SetLastError(lasterror);
92 +     WSASetLastError(lastWSAerror);
93 +  }
94    return ptr;
95  }