I don't understand how the fossil web server is interacting with the child
processes that it launches. I see the code in cgi.c that does the launching,
but I don't see how the child processes actually know what it is they should be
doing.
if( select( listener+1, &readfds, 0, 0, &delay) ){
lenaddr = sizeof(inaddr);
connection = accept(listener, (struct sockaddr*)&inaddr,
(socklen_t*) &lenaddr);
if( connection>=0 ){
child = fork();
if( child!=0 ){
if( child>0 ) nchildren++;
close(connection);
}else{
close(0);
dup(connection);
close(1);
dup(connection);
if( !g.fHttpTrace && !g.fSqlTrace ){
close(2);
dup(connection);
}
close(connection);
return 0;
}
}
}
Furthermore, I am trying to debug some web functions that I have written using
ddd, but that is monitoring only the server process. Does anyone have some
advice on how I might debug my web functions?
Thanks.
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users