PR# 15267 Two different once functions of type STDOUT in EiffelWeb library

Problem Report Summary
Submitter: prestoat2000
Category: EiffelWeb
Priority: Medium
Date: 2009/01/13
Class: Bug
Severity: Serious
Number: 15267
Release: 6.3.76070
Confidential: No
Status: Closed
Responsible:
Environment: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.8.1.13) Gecko/20080328 Firefox/2.0.0.13 Solaris 10 on SPARC
Synopsis: Two different once functions of type STDOUT in EiffelWeb library

Description
We noticed in the EiffelWeb library that there are two different once
functions of type STDIN and two of type STDOUT.  It seems to us that this is
undesirable and could cause incorrect ordering of output if output is buffered.

Specifically, in web/stdio there are classes SHARED_STDIN and SHARED_STDOUT,
which have once functions:

        stdin: STDIN is
                        -- Shared standard input (stdin).
                once
                        create Result.make
                end

        stdout: STDOUT is
                        -- Shared standard output (stdout).
                once
                        create Result.make
                end

But there is another class in web/cgi_handling named CGI_IN_AND_OUT, which
also has once functions for STDIN and STDOUT:

        output: STDOUT is
                        -- Shared standard output.
                once
                        Create Result.make
                end

        stdin: STDIN is
                        -- Shared standard input
                once
                        Create Result.make
                end

It seems to us that this is incorrect.  We think CGI_IN_AND_OUT should inherit
from SHARED_STDIN and SHARED_STDOUT, renaming `stdout' to `output'.

Can you confirm that this is a bug?  If so, can you make the change to the
EiffelWeb library so that we don't have to keep modifying our copy with
every new release?

To Reproduce

										
Problem Report Interactions
From:manus_eiffel    Date:2009/02/03    Status: Closed    Download   
I agree with you that your changes are the proper one to do. I've done this fix for the next intermediate release (see rev#76955).