osdir.com
mailing list archive
Mozy Online Backup: 2GB Free. Automatic. Secure.

Subject: Re: FastCGI? - msg#00121

List: lisp.scheme.chicken

Date: Prev Next Index Thread: Prev Next Index
> From: Giovanni Pensa <menozero@xxxxxxxxx>

> Hi. I'm doing some CGI scripts with Chicken. I'd like to also test
> it with FastCGI, because some web hosting providers (like Dreamhost or
> TextDrive) have started to support it. (If you can use Ruby, you can
> use Chicken...)
>
> I haven't found an egg, just some code for Gauche, and some for Clisp.
> Also a fastcgi proxy. Is there anything more? I've been looking at
> the libfcgi C library, and I'll try to interface to it. But I've long
> forgotten C... Hints?

I've written a binding to libfcgi. It's basically a complete mess at
this point, but it works (caveat: only tested on Linux/lighttpd and
will certainly not work in Windows). I can send it to you if you
want, and I'll probably fix it up and release it eventually.

Regarding other solutions:
I couldn't get the FastCGI proxy from Metcast to work, and it looked
like getting it to work would require learning the details of libfcgi
(which is why I wrote my own, since it was about the same amount of
trouble). I had roughly the same problem with the one for Gauche,
with the additional bonus that Gauche has an undocumented FFI. The
only other Scheme/Lisp solution I know of is a native implementation
for CMUCL, which I have not used.

Reed Sheridan


Was this page helpful?
Yes No
Thread at a glance:

Previous Message by Date: click to view message preview

Re: home for egg-repository needed...

> Now the final question: would anybody be willing to spare some server-space > for this? I need a server that holds the source-repo and runs a csi script > on every commit that ftp's changed eggs to call/cc.org. I could provide space in my svn.afc.no-ip.info server, which I currently use for my eggs anyway. My eggs are in: https://anonymous@:svn.afc.no-ip.info/svn/home/src/chicken-eggs/ I would probably create a separate repository for the eggs (currently this repository holds a lot of other code besides the eggs). I would give the egg authors write access to their eggs' directories (I think this would work better than giving everyone write access to the whole repository). And, I would, obviously, set it to run the update script whenever a commit is made. BTW, the script should somehow check to see which directory was modified (since we're hosting multiple eggs on the same repository; I find this preferable to using a different repository for each egg). I've written a svn-post-commit-hooks egg for this very purpose (which I use in my svnwiki and svnblog programs, both of which have code executed whenever a commit to a svn repository is made and need to tell what files where modified). Alejo. http://azul.freaks-unidos.net/ ---=( Comunidad de Usuarios de Software Libre en Colombia )=--- ---=( http://bachue.com/colibri )=--=( colibri@xxxxxxxxxx )=--- signature.asc Description: Digital signature _______________________________________________ Chicken-users mailing list Chicken-users@xxxxxxxxxx http://lists.nongnu.org/mailman/listinfo/chicken-users

Next Message by Date: click to view message preview

Error compiling chicken 2.2 on Windows

Hello! I've faced with the following problem building Chicken 2.2. My platform: Windows 2000 Professional Compiler: Visual C++ from .Net 2002 Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86 Copyright (C) Microsoft Corporation 1984-2001. All rights reserved. Log: ... cl /nologo /O2 /DC_DEFAULT_TARGET_STACK_SIZE=300000 /DC_NO_PIC_NO_DLL /DHAVE_LOADLIBRARY /DHAVE_GETPROCADDRESS /DHAVE_WINDOWS_H /MT /c tcp.c /DPIC tcp.c tcp.c(57) : warning C4133: 'function' : incompatible types - from 'int *' to 'char *' tcp.c(57) : error C2065: 'socklen_t' : undeclared identifier tcp.c(57) : error C2059: syntax error : ')' tcp.c(57) : error C2059: syntax error : 'while' tcp.c(57) : error C2059: syntax error : 'do' tcp.c(57) : error C2059: syntax error : 'while' tcp.c(58) : error C2143: syntax error : missing '{' before ':' tcp.c(58) : error C2059: syntax error : ':' tcp.c(61) : error C2059: syntax error : '}' tcp.c(191) : error C2059: syntax error : ')' tcp.c(191) : error C2059: syntax error : 'while' tcp.c(191) : error C2059: syntax error : 'else' tcp.c(191) : error C2059: syntax error : 'while' tcp.c(192) : error C2143: syntax error : missing '{' before ':' tcp.c(192) : error C2059: syntax error : ':' tcp.c(195) : error C2059: syntax error : '}' NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. I took a look at 'getsockopt' description in MSDN and defined a macros #define socklen_t int in the beginning of the file tcp.c. That helped. Best regards, Andrey ======================================= Andrey Fomichev (fomichev at ispras.ru) Sedna Team (http://modis.ispras.ru) =======================================

Previous Message by Thread: click to view message preview

Re: FastCGI?

On 10/13/05, Giovanni Pensa <menozero@xxxxxxxxx> wrote: > > While in a "housing" solution, how does Spiffy go? Any experience, > benchmarks, opinions about it? How could it compare with a > fastcgi/scgi solution? I see two mod_ solutions (Perl and PHP), > losing popularity against fastcgi/scgi solutions (PHP, Ruby, Python) > and only a few HTTP solutions (Lisp/Araneida, Python/Zope). I > understand a Common Lisp server, but maybe scheme is better suited for > "scripts". But Chicken can also be compiled, so I'm a bit confused. > Ideas? > I can't really say much about all those different methods of interfacing to a http-client, but what I like about the "direct" approach with spiffy is that I have full control over dynamic content generation and the fact that I don't need to install and setup a separate tool. Directly running your code (interpreted, compiled and interpreted on the fly in .shp pages) in the server allows quite elegant solutions. But in the end it is a matter of taste, of course. Some things are much better handled via a cgi. Spiffys performance is acceptable (IMHO), some very simple benchmarks I made a while ago showed it to be halfway between the PLT server and the S48/SUnet server (serving a tiny static page). For complex dynamic content generated in compiled code, Spiffy should be faster than the PLT server, though. Chicken as the underlying implementation has very effficient threads - it would be interesting to compare the PLT server with Spiffy under very high load. cheers, felix

Next Message by Thread: click to view message preview

Error compiling chicken 2.2 on Windows

Hello! I've faced with the following problem building Chicken 2.2. My platform: Windows 2000 Professional Compiler: Visual C++ from .Net 2002 Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86 Copyright (C) Microsoft Corporation 1984-2001. All rights reserved. Log: ... cl /nologo /O2 /DC_DEFAULT_TARGET_STACK_SIZE=300000 /DC_NO_PIC_NO_DLL /DHAVE_LOADLIBRARY /DHAVE_GETPROCADDRESS /DHAVE_WINDOWS_H /MT /c tcp.c /DPIC tcp.c tcp.c(57) : warning C4133: 'function' : incompatible types - from 'int *' to 'char *' tcp.c(57) : error C2065: 'socklen_t' : undeclared identifier tcp.c(57) : error C2059: syntax error : ')' tcp.c(57) : error C2059: syntax error : 'while' tcp.c(57) : error C2059: syntax error : 'do' tcp.c(57) : error C2059: syntax error : 'while' tcp.c(58) : error C2143: syntax error : missing '{' before ':' tcp.c(58) : error C2059: syntax error : ':' tcp.c(61) : error C2059: syntax error : '}' tcp.c(191) : error C2059: syntax error : ')' tcp.c(191) : error C2059: syntax error : 'while' tcp.c(191) : error C2059: syntax error : 'else' tcp.c(191) : error C2059: syntax error : 'while' tcp.c(192) : error C2143: syntax error : missing '{' before ':' tcp.c(192) : error C2059: syntax error : ':' tcp.c(195) : error C2059: syntax error : '}' NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. I took a look at 'getsockopt' description in MSDN and defined a macros #define socklen_t int in the beginning of the file tcp.c. That helped. Best regards, Andrey ======================================= Andrey Fomichev (fomichev at ispras.ru) Sedna Team (http://modis.ispras.ru) =======================================
Sign up for updates to this mailing list. email:
Loading Comments...
Home | News | Patents | Sitemap | FAQ | advertise

Advertising by