- if (debugmode) {
- printf("socket: %s\n",socket_path);
- printf("interp: %s\n",interp);
- printf("script: %s\n",script);
- printf("garbage: %d\n",isgarbage);
- exit(0);
+ if (isgarbage)
+ tidy_garbage();
+
+ execlp("cgi-fcgi",
+ "cgi-fcti", "-connect", socket_path,
+ us, "--stage2",
+ m_asprintf("-c%d", check_interval),
+ m_asprintf("%d", copy_stderr), socket_path,
+ interp, script,
+ (char*)0);
+ err(127,"exec cgi-fcgi");
+
+ } else { /*stage2*/
+
+ become_pgrp();
+ check_socket_baseline();
+ spawn_script();
+
+ r = lstat(socket_path, &sock_stab);
+ if (r) {
+ if ((errno == ENOENT))
+ return 0; /* well, no garbage then */
+ err(127,"stat socket (%s)",socket_path);