summaryrefslogtreecommitdiffstats
path: root/serverloop.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2000-04-20 07:42:21 +1000
committerDamien Miller <djm@mindrot.org>2000-04-20 07:42:21 +1000
commit166fca8894807de71b741a779330bd23edfec013 (patch)
tree387371567ce5b3c89c52e18f3a22348f1456af8d /serverloop.c
parent3ef692aa05a4b0d94a114be0826d32d0c8f67f1b (diff)
- Sync with OpenBSD CVS:
[clientloop.c login.c serverloop.c ssh-agent.c ssh.h sshconnect.c sshd.c] - pid_t [session.c] - remove bogus chan_read_failed. this could cause data corruption (missing data) at end of a SSH2 session.
Diffstat (limited to 'serverloop.c')
-rw-r--r--serverloop.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/serverloop.c b/serverloop.c
index a7abbe40..1a76b8da 100644
--- a/serverloop.c
+++ b/serverloop.c
@@ -52,7 +52,7 @@ static int max_fd; /* Max file descriptor number for select(). */
* that the child's output gets a chance to drain before it is yanked.
*/
-static int child_pid; /* Pid of the child. */
+static pid_t child_pid; /* Pid of the child. */
static volatile int child_terminated; /* The child has terminated. */
static volatile int child_has_selected; /* Child has had chance to drain. */
static volatile int child_wait_status; /* Status from wait(). */
@@ -63,7 +63,8 @@ void
sigchld_handler(int sig)
{
int save_errno = errno;
- int wait_pid;
+ pid_t wait_pid;
+
debug("Received SIGCHLD.");
wait_pid = wait((int *) &child_wait_status);
if (wait_pid != -1) {
@@ -373,9 +374,10 @@ process_buffered_input_packets()
* child program).
*/
void
-server_loop(int pid, int fdin_arg, int fdout_arg, int fderr_arg)
+server_loop(pid_t pid, int fdin_arg, int fdout_arg, int fderr_arg)
{
- int wait_status, wait_pid; /* Status and pid returned by wait(). */
+ int wait_status; /* Status returned by wait(). */
+ pid_t wait_pid; /* pid returned by wait(). */
int waiting_termination = 0; /* Have displayed waiting close message. */
unsigned int max_time_milliseconds;
unsigned int previous_stdout_buffer_bytes;