+ * Revision 1.56 2007/10/14 14:26:56 fabiankeil
+ * Remove the old log_error() version.
+ *
+ * Revision 1.55 2007/10/14 14:12:41 fabiankeil
+ * When in daemon mode, close stderr after the configuration file has been
+ * parsed the first time. If logfile isn't set, stop logging. Fixes BR#897436.
+ *
+ * Revision 1.54 2007/09/22 16:15:34 fabiankeil
+ * - Let it compile with pcc.
+ * - Move our includes below system includes to prevent macro conflicts.
+ *
+ * Revision 1.53 2007/08/05 13:53:14 fabiankeil
+ * #1763173 from Stefan Huehner: declare some more functions
+ * static and use void instead of empty parameter lists.
+ *
+ * Revision 1.52 2007/07/14 07:28:47 fabiankeil
+ * Add translation function for JB_ERR_FOO codes.
+ *
+ * Revision 1.51 2007/05/11 11:51:34 fabiankeil
+ * Fix a type mismatch warning.
+ *
+ * Revision 1.50 2007/04/11 10:55:44 fabiankeil
+ * Enforce some assertions that could be triggered
+ * on mingw32 and other systems where we use threads
+ * but no locks.
+ *
+ * Revision 1.49 2007/04/08 16:44:15 fabiankeil
+ * We need <sys/time.h> for gettimeofday(), not <time.h>.
+ *
+ * Revision 1.48 2007/03/31 13:33:28 fabiankeil
+ * Add alternative log_error() with timestamps
+ * that contain milliseconds and without using
+ * strcpy(), strcat() or sprintf().
+ *
+ * Revision 1.47 2006/11/28 15:25:15 fabiankeil
+ * Only unlink the pidfile if it's actually used.
+ *
+ * Revision 1.46 2006/11/13 19:05:51 fabiankeil
+ * Make pthread mutex locking more generic. Instead of
+ * checking for OSX and OpenBSD, check for FEATURE_PTHREAD
+ * and use mutex locking unless there is an _r function
+ * available. Better safe than sorry.
+ *
+ * Fixes "./configure --disable-pthread" and should result
+ * in less threading-related problems on pthread-using platforms,
+ * but it still doesn't fix BR#1122404.
+ *
+ * Revision 1.45 2006/08/21 11:15:54 david__schmidt
+ * MS Visual C++ build updates
+ *
+ * Revision 1.44 2006/08/18 16:03:16 david__schmidt
+ * Tweak for OS/2 build happiness.
+ *
+ * Revision 1.43 2006/08/03 02:46:41 david__schmidt
+ * Incorporate Fabian Keil's patch work:
+ * http://www.fabiankeil.de/sourcecode/privoxy/
+ *
+ * Revision 1.42 2006/07/18 14:48:46 david__schmidt
+ * Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
+ * with what was really the latest development (the v_3_0_branch branch)
+ *
+ * Revision 1.40.2.4 2005/04/03 20:10:50 david__schmidt
+ * Thanks to Jindrich Makovicka for a race condition fix for the log
+ * file. The race condition remains for non-pthread implementations.
+ * Reference patch #1175720.
+ *
+ * Revision 1.40.2.3 2003/03/07 03:41:04 david__schmidt
+ * Wrapping all *_r functions (the non-_r versions of them) with mutex
+ * semaphores for OSX. Hopefully this will take care of all of those pesky
+ * crash reports.
+ *
+ * Revision 1.40.2.2 2002/09/28 00:30:57 david__schmidt
+ * Update error logging to give sane values for thread IDs on Mach kernels.
+ * It's still a hack, but at least it looks farily normal. We print the
+ * absolute value of the first 4 bytes of the pthread_t modded with 1000.
+ *
+ * Revision 1.40.2.1 2002/09/25 12:47:42 oes
+ * Make log_error safe against NULL string arguments
+ *
+ * Revision 1.40 2002/05/22 01:27:27 david__schmidt
+ *
+ * Add os2_socket_strerr mirroring w32_socket_strerr.
+ *
+ * Revision 1.39 2002/04/03 17:15:27 gliptak
+ * zero padding thread ids in log
+ *
+ * Revision 1.38 2002/03/31 17:18:59 jongfoster
+ * Win32 only: Enabling STRICT to fix a VC++ compile warning.
+ *
+ * Revision 1.37 2002/03/27 14:32:43 david__schmidt
+ * More compiler warning message maintenance
+ *
+ * Revision 1.36 2002/03/26 22:29:54 swa
+ * we have a new homepage!
+ *
+ * Revision 1.35 2002/03/24 15:23:33 jongfoster
+ * Name changes
+ *
+ * Revision 1.34 2002/03/24 13:25:43 swa
+ * name change related issues
+ *
+ * Revision 1.33 2002/03/13 00:27:04 jongfoster
+ * Killing warnings
+ *
+ * Revision 1.32 2002/03/07 03:46:17 oes
+ * Fixed compiler warnings
+ *
+ * Revision 1.31 2002/03/06 23:02:57 jongfoster
+ * Removing tabs
+ *
+ * Revision 1.30 2002/03/05 22:43:45 david__schmidt
+ * - Better error reporting on OS/2
+ * - Fix double-slash comment (oops)
+ *
+ * Revision 1.29 2002/03/04 23:45:13 jongfoster
+ * Printing thread ID if using Win32 native threads
+ *
+ * Revision 1.28 2002/03/04 17:59:59 oes
+ * Deleted deletePidFile(), cosmetics
+ *
+ * Revision 1.27 2002/03/04 02:08:01 david__schmidt
+ * Enable web editing of actions file on OS/2 (it had been broken all this time!)
+ *
+ * Revision 1.26 2002/01/09 19:05:45 steudten
+ * Fix big memory leak.
+ *
+ * Revision 1.25 2002/01/09 14:32:08 oes
+ * Added support for gmtime_r and localtime_r.
+ *
+ * Revision 1.24 2001/12/30 14:07:32 steudten
+ * - Add signal handling (unix)
+ * - Add SIGHUP handler (unix)
+ * - Add creation of pidfile (unix)
+ * - Add action 'top' in rc file (RH)
+ * - Add entry 'SIGNALS' to manpage
+ * - Add exit message to logfile (unix)
+ *
+ * Revision 1.23 2001/11/07 00:02:13 steudten
+ * Add line number in error output for lineparsing for
+ * actionsfile and configfile.
+ * Special handling for CLF added.
+ *
+ * Revision 1.22 2001/11/05 23:43:05 steudten
+ * Add time+date to log files.
+ *
+ * Revision 1.21 2001/10/25 03:40:47 david__schmidt
+ * Change in porting tactics: OS/2's EMX porting layer doesn't allow multiple
+ * threads to call select() simultaneously. So, it's time to do a real, live,
+ * native OS/2 port. See defines for __EMX__ (the porting layer) vs. __OS2__
+ * (native). Both versions will work, but using __OS2__ offers multi-threading.
+ *
+ * Revision 1.20 2001/09/16 23:04:34 jongfoster
+ * Fixing a warning
+ *
+ * Revision 1.19 2001/09/13 20:08:06 jongfoster
+ * Adding support for LOG_LEVEL_CGI
+ *
+ * Revision 1.18 2001/09/10 11:27:24 oes
+ * Declaration of w32_socket_strerr now conditional
+ *