Re: libfcgi in devkit 1.5.1 on solaris

Jonathan Roy (
Thu, 17 Jul 1997 17:51:21 -0400

Message-Id: <>
Date: Thu, 17 Jul 1997 17:51:21 -0400
To: suit <>,
From: Jonathan Roy <>
Subject: Re: libfcgi in devkit 1.5.1 on solaris
In-Reply-To: <>

  I have no idea about libfcgi stuff since we only use perl. The patch for
.30 includes the fix for the restarting processes as well as the accept()
locking I believe... whoever at OpenMarket handles bug fixes/etc hopefully
has them applied whereever needed.

  I don't know the exact problem, Chip fixed it after I noticed the
symptom. I had a process restarting when I changed an external file, 5-6
processes running. I found when I changed the file, over 80 of them
restarted before they would remain alive! It had to do with how it was
detecting CGI vs FCGI. The use of accept in there wasn't exactly right, so
sometimes it thought it was CGI when it wasn't, and exited after one
request. (Has to do with lots of them trying to do accepts at the same time
and such.) It was only spotted after the wrapper was added, since
previously it'd just lock up fcgi. ;) If you look over the diff it
shouldn't be hard to apply to other source files.

  The patch is really big only because we had to move the Acquire/Release
function up higher in the source code since we were using them before
declaration. Most of the patch is just "noise", no changed in those two
functions were done. The true fixes are only a few lines each..


At 06:49 PM 7/16/97 -0700, suit wrote:
>So, the 1.5.1 devkit suffers from a solaris accept() bug,
>which has been patched in the perl module (patch recently
>sent to the list by  Has anyone out there
>patched up their libfcgi in the same way?
>I tried to add the blocking flag to AcquireLock() and implement the locking
>around the accept call, but these days don't have much time to spend on it.
>So, if the patch is already out there, I don't want to reinvent the wheel.
>Also, a patch was described for the perlmod:
>"the patch to prevent zillions of dying fcgis at restart time is also
>has this been fixed in libfcgi?
>"Code slinger / Wax mixer
> Noone can see me  ...  I am the future."

Jonathan Roy - - Idle Communications, Inc.
Idle Communications, Inc. accepts contract programming
work for general purpose tools (or CGI) in Perl/C/C++.