initial load of upstream version 1.06.32
[xmlrpc-c] / lib / abyss / patch_notes.txt
1 Notes about the Abyss Patch -- By: Rosimildo da Silva, Jan 31, 2001.
2 -------------------------------------------------------------------
3
4 This file contains some notes about the changes made to the
5 Abyss source tree. The changes were required to fix a few 
6 bugs, and port the base code to compile under CygWin,
7 and Borland C++ free compiler. The free compiler for 
8 Win32 from Borland can be downloaded from here:
9
10   http://www.borland.com/bcppbuilder/freecompiler/
11
12
13 What is new:
14
15     + Package should compile out of the box under CygWin
16
17     + Added makefiles and changes to use Borland C++ compiler
18 under WIN32 as well as VC++ 6.0
19
20     + Fix Abyss.dsp to use the proper thread safe libraries,
21 and updated to VC++ 6.0
22
23     + Fixed thread leaks ( handles )
24
25
26
27 Applying the patch to Abyss-0.3.tar.gz
28 --------------------------------------
29
30    + get archive from here:
31         http://abyss.linuxave.net/abyss-0.3.tar.gz
32 WARNING: this site seems to be dead for the last two months.
33
34    + cd /work   ( any dir )
35      tar xzvf abyss-0.3.tar.gz
36          cd abyss
37          patch -p1 <abyss-0.3-20010131.patch
38
39
40 What to do next:
41
42
43    a) Cygwin
44
45       cd abyss/src
46       make
47          
48
49    b) Borland C++
50
51       cd abyss\src
52       set BCC_PATH=<location where your compiler is located>
53       ( BCC_PATH=d:\bcb5 )
54
55       make -f makefile.bcc32
56
57    c) VC++ 6.0                  
58       cd abyss\src
59       msdev Abyss.dsp
60       ( Or just open the workspace with Visual Studio, and you know
61         the drill ).
62 NOTE: Under Cygwin, after I apply the patch, Visual Studio was unable to
63 recognize the workspace. ???
64
65
66 List of changes done to the ABYSS http server: ( ChangesLog )
67 ----------------------------------------------
68
69  + changed _WIN32 to ABYSS_WIN32. THis solve the problem that the
70 macro _WIN32 is defined under CygWin. CygWin has a unix like
71 api ( _UNIX ), so the macro _UNIX should be defined then.
72 Under CygWin we would have _UNIX and _WIN32 defined at the same
73 time.
74
75
76  + Theead API -- Added two extra functions: ThreadExit() and
77 ThreadClose(). These allows the resources of the threads to be
78 released when the thread has complete its duty serving the
79 request.
80
81  + Added extra flag to TConn structure to make possible the
82 management of the worker threads by the server.
83
84
85  + Changed allocation of TConn array from stack to heap. This
86 would cause problems on certain system ( specially embedded systems ),
87 where the stack sizes arr not that large.
88
89  + Changed ServerRun to free thread resources when the connection
90 for the thread is closed.
91
92  + Changed main.c to make the sginal registration conforming with
93 the usage of the _FORK option.
94
95  + Change ThreadCreate to be able to specify the "stack size" of the
96 worker's threads ( pthread ). Defined lable for it.
97
98
99  + Added flag _NO_USERS to disable check for users and groups.
100 This is useful for embedded systems where no users are available.
101
102  + Updated VC++ workspace to version 6.0
103
104
105  + Changed the creation of the thread under WIN32 to use a RTL
106 function ( _beginthreadex ), as recommend by MS, instead of using 
107 the naked WIN32 API.
108
109 -- 
110 Rosimildo da Silva            rdasilva@connectel.com 
111 ConnectTel, Inc.              Austin, TX -- USA      
112 Phone : 512-338-1111          Fax : 512-918-0449     
113 Company Page:  http://www.connecttel.com             
114 Home Page:     http://members.nbci.com/rosimildo/