|
From: <ale...@us...> - 2011-07-01 10:15:56
|
Revision: 53269
http://firebird.svn.sourceforge.net/firebird/?rev=53269&view=rev
Author: alexpeshkoff
Date: 2011-07-01 10:15:49 +0000 (Fri, 01 Jul 2011)
Log Message:
-----------
This appears to fix CORE-3400: Server crash every 3 hour (FreeBSD8.2R), but I did not get final confirmation from the reporter too long
Modified Paths:
--------------
firebird/branches/B2_5_Release/doc/README.build.posix.html
firebird/branches/B2_5_Release/src/jrd/isc_sync.cpp
Modified: firebird/branches/B2_5_Release/doc/README.build.posix.html
===================================================================
--- firebird/branches/B2_5_Release/doc/README.build.posix.html 2011-07-01 09:22:23 UTC (rev 53268)
+++ firebird/branches/B2_5_Release/doc/README.build.posix.html 2011-07-01 10:15:49 UTC (rev 53269)
@@ -232,6 +232,9 @@
<li>
<a href="#sol2">Solaris 10, Intel</a>
</li>
+ <li>
+ <a href="#freebsd">FreeBSD</a>
+ </li>
</ul>
<h1>
<a name="preparing" id="preparing">3.0 Preparing to Build
@@ -674,6 +677,17 @@
Frequently Tested
</td>
</tr>
+ <tr class="rarely">
+ <td>
+ FreeBSD 8, AMD64/i386
+ </td>
+ <td>
+ g++ 4.2.1
+ </td>
+ <td>
+ Rarely Tested
+ </td>
+ </tr>
</table>
<h2>
<a name="aix1" id="aix1">4.1 AIX 6.1 on Power, IBM XL C++</a>
@@ -836,6 +850,35 @@
generic (-xarch=generic). Enthusiasts may add -xarch=native to the CFLAGS/CXXFLAGS,
which tunes for the processor on which the compiler is running.
</p>
+ <h2>
+ <a name="freebsd" id="freebsd">4.8 FreeBSD, g++</a>
+ </h2>
+ <p>
+ Firebird runs on freebsd, but not too efficient - that OS is missing support of
+ futex in shared memory. Therefore SystemV semaphores are used, which is not too efficient.
+ To build and run firebird you should tune kernel. The following IPC settings are known to work OK:
+ </p>
+ <pre>
+# ipcs -S
+seminfo:
+semmap: 1024(# of entries in semaphore map)
+semmni: 1024(# of semaphore identifiers)
+semmns: 2048(# of semaphores in system)
+semmnu: 128(# of undo structures in system)
+semmsl: 1024(max # of semaphores per id)
+semopm: 100(max # of operations per semop call)
+semume: 10(max # of undo entries per process)
+semusz: 152(size in bytes of undo structure)
+semvmx: 32767(semaphore maximum value)
+semaem: 16384(adjust on exit max value)
+</pre>
+ <p>
+ Please pass the following parameter to autogen.sh or configure: <br>
+ --with-system-editline <br>
+ or: <br>
+ --without-editline (this will break command line editing in isql) <br>
+ Builtin library does not compile on FreeBSD!
+ </p>
<h1>
<a name="testing" id="testing">5.0 Testing in Place</a>
</h1>
Modified: firebird/branches/B2_5_Release/src/jrd/isc_sync.cpp
===================================================================
--- firebird/branches/B2_5_Release/src/jrd/isc_sync.cpp 2011-07-01 09:22:23 UTC (rev 53268)
+++ firebird/branches/B2_5_Release/src/jrd/isc_sync.cpp 2011-07-01 10:15:49 UTC (rev 53269)
@@ -320,8 +320,8 @@
public:
const static int N_FILES = 8;
const static int N_SETS = 256;
-#if defined(DEV_BUILD) || defined(FREEBSD)
- const static int SEM_PER_SET = 4; // force multiple sets allocation || work with default freebsd kernel
+#if defined(DEV_BUILD)
+ const static int SEM_PER_SET = 4; // force multiple sets allocation
#else
const static int SEM_PER_SET = 31; // hard limit for some old systems, might set to 32
#endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|