Check-in [7c452271be]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:fixed bug in scgi server loop, the child process would not exit if an exception was raised
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 7c452271be7889ffe23ab30669d6a34e90eb786a
User & Date: aldo 2016-12-12 14:03:32
Context
2016-12-12
14:05
ops missing ) on previous commit check-in: 8c6adf71a2 user: aldo tags: trunk
14:03
fixed bug in scgi server loop, the child process would not exit if an exception was raised check-in: 7c452271be user: aldo tags: trunk
2016-12-11
16:11
use textual port for scgi response check-in: 9c4ec6ad9d user: aldo tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to scgi.sls.

85
86
87
88
89
90
91

92
93
94
95
96
97

98
99
100
101
102
103
104
105
	  (accept sock)
	  (lambda (clifd)
	    (printf "scgi: accepted connection~n")
	    (if (> nchildren max-children)
		(sleep (make-time 'time-duration 0 1)))
	    (printf "scgi: forking..~n")
	    (let ([pid (fork)])

	      (if (= pid 0)
		  (guard (e [else (display "scgi: handler error: ")
				  (display-condition e)
				  (newline)])			   
			 (handle-scgi-connection clifd)
			 (exit))

		  (set! nchildren (+ 1 nchildren))))))
	 (do ()
	     ((not (> (waitpid 0 0 (wait-flag 'nohang)) 0)))
	   (set! nchildren (- nchildren 1)))))))
     
     );;library scgi









>
|
|


|
|
>
|







85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
	  (accept sock)
	  (lambda (clifd)
	    (printf "scgi: accepted connection~n")
	    (if (> nchildren max-children)
		(sleep (make-time 'time-duration 0 1)))
	    (printf "scgi: forking..~n")
	    (let ([pid (fork)])
	      (cond
	       [(= pid 0)
		(guard (e [else (display "scgi: handler error: ")
				  (display-condition e)
				  (newline)])			   
		       (handle-scgi-connection clifd))
		(exit)]
	       [else
		(set! nchildren (+ 1 nchildren))))))
	 (do ()
	     ((not (> (waitpid 0 0 (wait-flag 'nohang)) 0)))
	   (set! nchildren (- nchildren 1)))))))
     
     );;library scgi