FTP listings never stop loading on Mac

VERIFIED FIXED in mozilla0.8.1

Status

()

defect
--
blocker
VERIFIED FIXED
19 years ago
19 years ago

People

(Reporter: sfraser_bugs, Assigned: gordon)

Tracking

({regression})

Trunk
mozilla0.8.1
PowerPC
Mac System 8.5
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: have patch, reviews, readyy for checkin)

Attachments

(1 attachment)

The PR_Poll fixes on Mac broke FTP, such that directory listings (and maybe 
downloads) appear to never finish. The client never closes the data connection, 
with the result that the control connection waits for ever for the 'Transfer 
complete' notification.

The part of the PR_Poll fix that broke this was the change to GetState():

@@ -1676,6 +1681,8 @@
 {
     OTResult resultOT;
+	size_t   availableData;
     
-	*readReady = fd->secret->md.readReady;
+	resultOT = OTCountDataBytes((EndpointRef)fd->secret->md.osfd, &
availableData);   
+	*readReady = fd->secret->md.readReady && (availableData > 0);
 	*exceptReady = fd->secret->md.exceptReady;
 
This changed the behaviour of PR_Poll/PR_Read such that clients would no longer 
see a 0-byte read to indicate that all the data on a socket had been read (which 
is what FTP relied on).
Keywords: regression
Target Milestone: --- → mozilla0.8.1
The attached patch fixed the bug with FTP, and does not regress the original 
GetState fix (bug 70408).
This must be fixed for 0.8.1
Severity: normal → blocker
gordon, can you review please?
Review it?  Simon and I wrote it.  Can you try the patch and verify it works for 
you?  I'll check it in this afternoon as soon as I get the necessary approvals.
Status: NEW → ASSIGNED
It would be better if you didn't use the old-style cast.  Since it's a type with
a simple name, you can use a construction-style cast.  Other than that, sr=scc.
Whiteboard: have patch, reviews, readyy for checkin
Assuming this gets properly tested and it's deemed low risk we're approving this
for 0.8.1.
Simon and I tested it, but I was hoping DougT was going to try some of his test 
cases on it as well.  Doug?
Fix checked in.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
verified
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.