diff --git a/scheme/job.scm b/scheme/job.scm index 12035b4..ad58b03 100644 --- a/scheme/job.scm +++ b/scheme/job.scm @@ -1,5 +1,5 @@ (define-record-type job :job - (make-job name pty-in pty-out proc status) + (really-make-job name pty-in pty-out proc status) job? (name job-name) (pty-in job-pty-in) @@ -7,9 +7,13 @@ (proc job-proc) (status really-job-status)) +(define-record-discloser :job + (lambda (r) + `(job ,(job-name r)))) + (define (make-job name pty-in pty-out proc) - (let ((job (make-job name pty-in pty-out proc - (make-placeholder)))) + (let ((job (really-make-job name pty-in pty-out proc + (make-placeholder)))) (spawn-job-status-surveillant job) (add-job! job) job)) @@ -25,7 +29,7 @@ (spawn (lambda () (placeholder-set! - (really-job-status job) (wait (job-proc))))))) + (really-job-status job) (wait (job-proc job))))))) (define (signal-job signal job) (signal-process-group signal (job-proc job)))