At 23:35 16.04.99 , you wrote:
>Буду благодарен, если это переведут и зашлют автору mod_fcgi. А вот
apache-team
>меня игнорирует. Сейчас вот сделаю доклад и разгоню студентов по случаю
сессии
>и попробую еще раз.
Вот ответ автора mod_fastcgi:
>From: Rob Saccoccio <robs@infinitetechnology.com>
>To: "'Sergey Gershtein'" <sg@mplik.ru>
>Subject: RE: can't get more than one dynamic instances spawned
>Date: Tue, 20 Apr 1999 08:47:17 -0400
>X-Mailer: Internet Mail Service (5.5.2232.9)
>X-sortmail-version: 1.2.981116
>
>
>> "Maybe Rob Saccoccio is right, but my point of view is the following:
>>
>> There are ap_r* (puts/printf/write) functions that are called
>> by standard
>> modules when giving content to client (after headers and
>> such). It would be
>> nice if 3rd-party modules would do that as modules/standard/*.c do.
>
>mod_cgi, mod_mime_magic, proxy_ftp, proxy_http, and proxy_util all use
>ap_bwrite().
>
>mod_include, mod_isapi use ap_rwrite().
>
>ap_rputs is used more often in modules than ap_bputs though.
>
>This line of discussion is irrelevant. The Apache API includes ap_bwrite();
>this is undisputable. The Russian Apache does not - this IS a change to the
>API. I assure you that mod_fastcgi will not be the only place you will have
>to request changes. This is a shame because it is unneccary.
>
>> The ap_b* functions (we are talking about ap_bwrite here) are
>> on a lower
>> layer, they can be used for both content output, headers
>> output and so on.
>> But there is different recoding used for headers (%AA -> %BB)
>> and content
>> (letter1 -> letter2), so it is necessary to somehow trace the
>> context of
>
>You need to do/know that anyway. Deciding that its a header because a b
>routine is called and that it is content because a r routine is called is
>not sufficient. If you put the request_rec in the BUFF you can get at
>whatever you had with the r call without breaking the API.
>
>> bwrite call. Talking about 3rd-party modules it means that
>> we'll need to
>> look at them individualy. It would be also necessary to trace
>
>This is not a good approach when it can be avoided.
>
>> all creations
>> of BUFF* to initialise them correctly. I am not sure it is
>
>All BUFF (at least those created for use with the b routines) are created
>with ap_bcreate(). Note that you shouldn't necessarily perform your on the
>fly conversions with all instances of BUFF, only the one associated with the
>client.
>
>> always possible.
>> As for request_rec - it is always one for each request and it is being
>> created by Apache itself.
>
>I'm not sure what your saying here.
>
>> Speaking about API incompatibilities, there is currently only
>> one: vbprintf
>> and my charset_vbprintf that takes an extra argument.
>
>That makes at least two (I suspect ap_bputs() and maybe others are a problem
>too). You should not change an existing exported interface if it can be
>helped (I don't know exactly how it is your performing the conversion).
>
> robs
>
С уважением,
Сергей Герштейн
[ sg@ur.ru, тел (3432) 776440, 776486, факс 594956 ]
ведущий специалист отдела информационных технологий
телекоммуникационная компания Урал Релком
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.