Hi Roger,

On Thu, Sep 23, 2010 at 10:13 PM, Roger Hoover <roger.hoo...@gmail.com>wrote:

> Got it.  Thanks for explaining.  I think this is the way that inetd/xinetd
> work.
>

Yeah, I'm not sure of how inetd/xinetd pass the new connection to the
child.  Sounds like the child gets 3 copies of the connection as
stdin/stdout/stderr?  This doesn't make much sense to me.


> OK.  This makes sense.  As you say, it's a different model from FastCGI so
> I think you should create a new type of supervisord "program", something
> like "inetd-program", "superserver-program" (inetd is sometimes called the
> superserver) or "fork-program" (as opposed to prefork).  I think your
> servers would be compatible with inetd so that might be a good name.
>

Along these lines, doesn't supervisor want to use stdin/out/err for it's own
purposes (event mechanism and logging support)?  So would it make more sense
to pass the socket as fd 3?  I see the fcgi-program code passing the
connection as fd 0, but I guess that's to mimic how fcgi works, rather than
what makes sense for supervisor?

I have no requirement to be compatible with inetd/xinetd, so could just as
well use fd 3 as fd 0...

Am I correct in perceiving a conflict between supervisor compatibility and
inetd/xinetd compatibility?

Overall, it does not look that complicated.  It looks like supervisord has
>> the architecture already in place to support this.
>>
>>
> I think you should be able to follow a similar pattern as I used for
> fcgi-programs and create a new type of program.
>
>
Yes, I think so.  Should be able to (re)use a lot of your code, which will
make this easier.  :-)

Thanks!

-Bruce
_______________________________________________
Supervisor-users mailing list
Supervisor-users@lists.supervisord.org
http://lists.supervisord.org/mailman/listinfo/supervisor-users

Reply via email to