src/server/safs/cgi.c

branch
webdav
changeset 359
79b28ae7bfbd
parent 254
4784c14aa639
child 415
d938228c382e
equal deleted inserted replaced
358:f3b490a2150c 359:79b28ae7bfbd
189 189
190 if(result == REQ_ABORTED) { 190 if(result == REQ_ABORTED) {
191 log_ereport(LOG_FAILURE, "cgi-send: kill script: %s", path); 191 log_ereport(LOG_FAILURE, "cgi-send: kill script: %s", path);
192 kill(cgip.pid, SIGKILL); 192 kill(cgip.pid, SIGKILL);
193 } 193 }
194 cgi_close(&cgip); // TODO: check return value 194
195 int exit_code = cgi_close(&cgip);
196 if(exit_code != 0) {
197 log_ereport(LOG_FAILURE, "send-cgi: script: %s exited with code %d", path, exit_code);
198 ret = REQ_ABORTED;
199 }
195 200
196 cgi_parser_free(parser); 201 cgi_parser_free(parser);
197 return result; 202 return result;
198 } 203 }
199 204
267 } 272 }
268 if(p->out[1] != -1) { 273 if(p->out[1] != -1) {
269 system_close(p->out[1]); 274 system_close(p->out[1]);
270 } 275 }
271 276
272 return 0; 277 return status;
273 } 278 }
274 279
275 CGIResponseParser* cgi_parser_new(Session *sn, Request *rq) { 280 CGIResponseParser* cgi_parser_new(Session *sn, Request *rq) {
276 CGIResponseParser* parser = pool_malloc(sn->pool, sizeof(CGIResponseParser)); 281 CGIResponseParser* parser = pool_malloc(sn->pool, sizeof(CGIResponseParser));
277 parser->sn = sn; 282 parser->sn = sn;

mercurial