Number: 514

Date:  5-Apr-84 11':12':55

Submitter: Sannella.PA

Source: vanMelle.pa

Subject: (CLOSEF <stream>) doesn''t call WHENCLOSE operations

Assigned To: 

Attn: Kaplan.pa

Status: Fixed

In/By: 

Problem Type: Bug

Impact: Moderate

Difficulty: 

Frequency: Everytime

Priority: Hopefully

System: Operating System

Subsystem: Generic File Operations

Machine: 

Disk: 

Lisp Version: 

Source Files: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Disposition: '
["Kaplan" "15-Sep-84 03':18':18" Status':(Open->Fixed) Description':]

Description: '
Date':  4 Apr 84 11':45 PST'
From': vanMelle.pa'
Subject': Lisp': WHENCLOSE does not notice CLOSEF of STREAM'
To': LispSupport.pa'
cc': vanMelle.pa'
'
Lisp System Date': 29-Mar-84 17':34':40'
Machine': Dorado (Archimedes)'
Microcode version': 24,4'
Memory size': 10000'
Frequency': Always'
Impact': Moderate'
'
If you CLOSEF a stream directly, rather than calling CLOSEF on the stream''s fullname, any WHENCLOSE operations do not get called, and properties on the stream''s fullname linger.  For example, if you say (WHENCLOSE <stream> ''AFTER ''CleanupFn), and then (CLOSEF <stream>), CleanupFn never gets run, and <stream''s> fullname still has an AFTERCLOSE prop of (CleanupFn).'
'
Probably need to rethink WHENCLOSE anyway, since streams no longer are guaranteed to have litatom fullnames.  And WHENCLOSE EOF should probably interact with the stream''s ENDOFSTREAMOP.'
'
	Bill'
'
----'
Larry fixed this':  now hangs the WHENCLOSE properties via STREAMPROP.'
'
--Ron'


Workaround: 

Test Case: 

Edit-By: Kaplan

Edit-Date: 15-Sep-84 03':18':18