summaryrefslogtreecommitdiffabout
path: root/src/sitecing-fastcgi.cc
Unidiff
Diffstat (limited to 'src/sitecing-fastcgi.cc') (more/less context) (ignore whitespace changes)
-rw-r--r--src/sitecing-fastcgi.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/sitecing-fastcgi.cc b/src/sitecing-fastcgi.cc
index 57aba60..4768e8f 100644
--- a/src/sitecing-fastcgi.cc
+++ b/src/sitecing-fastcgi.cc
@@ -154,24 +154,25 @@ void sitecing_fastcgi_pm::process(int slot) {
154 semaphore_lock sl; 154 semaphore_lock sl;
155 if(multi) { 155 if(multi) {
156 sslot->state = scoreboard_slot::state_idle; 156 sslot->state = scoreboard_slot::state_idle;
157 sl.sem = &sem; 157 sl.sem = &sem;
158 sl.lock(); 158 sl.lock();
159 } 159 }
160 sslot->state = scoreboard_slot::state_accept; 160 sslot->state = scoreboard_slot::state_accept;
161 fcgi_interface fi(fs); 161 fcgi_interface fi(fs);
162 sslot->state = scoreboard_slot::state_processing; 162 sslot->state = scoreboard_slot::state_processing;
163 if(multi) 163 if(multi)
164 sl.unlock(); 164 sl.unlock();
165 cgi_gateway gw(fi); 165 cgi_gateway gw(fi);
166 ++scif.serial;
166 scif.prepare(&gw); 167 scif.prepare(&gw);
167 try { 168 try {
168 component_path = konforka::normalize_path(gw.path_info(),konforka::strip_leading_slash|konforka::strip_trailing_slash); 169 component_path = konforka::normalize_path(gw.path_info(),konforka::strip_leading_slash|konforka::strip_trailing_slash);
169 string full_component_path; 170 string full_component_path;
170 string sitecing_path_info; 171 string sitecing_path_info;
171 while(true) { 172 while(true) {
172 full_component_path = config.root_source+'/'+component_path; 173 full_component_path = config.root_source+'/'+component_path;
173 if(!access(full_component_path.c_str(),F_OK)) 174 if(!access(full_component_path.c_str(),F_OK))
174 break; 175 break;
175 string::size_type sl = component_path.rfind('/'); 176 string::size_type sl = component_path.rfind('/');
176 if(sl==string::npos) 177 if(sl==string::npos)
177 throw konforka::exception(CODEPOINT,"can't find the target component"); 178 throw konforka::exception(CODEPOINT,"can't find the target component");