Fixed crash opportunity under some conditions
[pwlib.git] / README_VXWORKS.txt
bloba23bd6ed99e37dbcb45c4be84e84bcfa0da098bc
1 Cummulative VxWorks patch for PWLIB
2 ===================================
3 Patch is done against CVS-snapshot dated: 9 juli 2004
5 This patch includes VxWorks specific updates (platform and compiler), 
6 including a minor general update.
9 Disclaimer
10 ==========
11 We have not yet thoroughly tested this patch-set against the latest 
12 PWLIB. However all patches are already use in our 30-channel IP-gateway 
13 product, which is using Openh323 based on version 1.10.4 (PWLib:1.4.4)
14 with some general community bugfixes added and is running very stable.
15 Our VxWorks environment is Tornado 2.1.1 for MIPS platform building the
16 MIPS images on Windows platform.
19 Patch history
20 =============
21 - Added Mozilla Public License header and revision history in tlibvx.cxx 
22   (this was missing...)
23 - Implemention of critical section (for semaphores)
24 - Rewritten semaphore handling (was incredible buggy)
25 - Fixed synchronisation bug during launching of new task in PThread
26   (related to priority handling of VxWorks task scheduler)
27 - Fixed administration handling with PThreads (especially when PThread
28   was ending/terminating). Did show up under heavier load.
29 - Implemention of tracing facility in PThread (::Trace)
30 - Less use of asserts (for embedded environment)
31 - Increased stacksize for House-Keeping Thread (+ giving that beast a name)
32 - Included here and there lot of comments regarding specific behaviour
33   of VxWorks and/or Tornado-IDE version.
34 - Update in socket handling:
35   - Now supporting Non-Blocking sockets  
36   - Fixed memory-leak in inet_ntoa(). 
37     VxWorks does do malloc but no free!! Now using inet_ntoa_b.
38   - os_select now more directly with same behaviour
39 - Some P_TORNADO defines renamed to P_VXWORKS.
40   The P_TORNADO compiler define now applies to some specific TORNADO versions. 
41   When using  version 2.1.0 or earlier. This flag now only covers the compiler 
42   bug and missing iostream. Suggested is to try to build VxWorks first without 
43   P_TORNADO flag. In case of errors (compiler crashes or error in iostreams), 
44   enable this flag.
45 - Resolved conflict due to VxWorks headerfile mbuf.h
46   Above mentioned headerfile includes a "#define m_data <to_something_else>" 
47   (also for m_type) ?!?!. This resulted into the requirement to manually edit 
48   some generated H.323 files (ASN.1) by placing #undef's after the includes 
49   because the m_data in these files were overwritten by that #define. By 
50   locating a central place to put "#undef m_data" and m_type this is history 
51   now. Another step closer to full automatic generation of openh323.
52 - Adapted PMEMORY_CHECK for VxWorks variant
53 - Routed cfree to PMEMORY_CHECK (as counterpart of calloc)
54 - Moved other build variants from os_select to PSocket::Select
55 - Simplified remaining PXBlockOnIO
56 - Added copy constructors of PSemaphore, PMutex and PSyncPoint
57 - Removed unnecessary assignment in PMutex::WillBlock
58 - Removed unused PXBlockOnIO definition (not VxWorks specific)
61 Some comments for seting up PWLib for VxWorks
62 =============================================
63 - Get PWLib, and if If applicable: apply all patches
64 - Current way of working with ./configure.exe and ./make is not supported, so 
65   you need to make/adapt your own makefile.
66 - WindRiver has a special adapted GCC compiler for VxWorks, which possible 
67   requires to include -fpermissive in your CFLAG to make everything compiling. 
68 - Add next VxWorks specific defines:
69         -DP_VXWORKS
70         -DVX_TASKS
71         -DP_TORNADO  (only if your compiler *crashes*)  
72         -DNO_LONG_DOUBLE
73         -DP_USE_PRAGMA
74         -DPHAS_TEMPLATES  
75 - Big change you need to ask WindRiver support for a compiler patch to solve
76   the "Virtual memory Exhaust" problem during compile/link...
77   This has actually nothing to do with your internal PC memory, but all with
78   the applied stacksizes internally in the compiler.
79 - In CVS a module exist called pwlib_tornado. Here you can find the Tornado SDE
80   workspace files for ARM environment (like MS Developer Studio workspace files). 
81   Sadly.. these are corrupt because they are saved/stored including CR+LF while 
82   it should only contain <CR> (or LF?) => UNIX style. We're not using this but
83   just want to mention it here.
84 - Surely I forgot something... just drop me a mail.
88 Happy VxWorks'ing with these patches.
89 If you have any questions or comments, just drop me a mail (see below)
92 Eize Slange
95 Department: Development - Platform Enhancement
96 Philips Business Communications, The Netherlands (NL)
97 Homepage: http://www.sopho.philips.com
98 Tel: +31 (0) 35 6893604
99 Fax: +31 (0) 35 6891290
100 e-Mail: Eize.Slange@philips.com