Minor bugfix - reset non-blocking mode before closing file

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4638 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
richard 1999-07-23 20:16:13 +00:00
parent 1daeda4dfc
commit 95d9e13da4
2 changed files with 86 additions and 78 deletions

View file

@ -1,3 +1,8 @@
Fri Jul 23 21:20:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Source/UnixFileHandle.m: Tidy a little and make sure that
non-blocking mode is reset when a descriptor is closed.
Thu Jul 22 13:55:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Source/NSTimeZone.m: ([-initWithOffset:]) bugfix by Kai Henningsen

View file

@ -1,5 +1,5 @@
/* Implementation for UnixFileHandle for GNUStep
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997-1999 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <richard@brainstorm.co.uk>
Date: 1997
@ -192,13 +192,13 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
if (descriptor != -1)
{
if (isNonBlocking != wasNonBlocking)
[self setNonBlocking: wasNonBlocking];
if (closeOnDealloc == YES)
{
close(descriptor);
descriptor = -1;
}
else if (isNonBlocking != wasNonBlocking)
[self setNonBlocking: wasNonBlocking];
}
[readInfo release];
[writeInfo release];
@ -212,9 +212,9 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
return [self initWithNullDevice];
}
- (id)initAsClientAtAddress: a
service: s
protocol: p
- (id) initAsClientAtAddress: (NSString*)a
service: (NSString*)s
protocol: (NSString*)p
{
int net;
struct sockaddr_in sin;
@ -259,10 +259,10 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
return self;
}
- (id)initAsClientInBackgroundAtAddress: a
service: s
protocol: p
forModes: modes
- (id) initAsClientInBackgroundAtAddress: (NSString*)a
service: (NSString*)s
protocol: (NSString*)p
forModes: (NSArray*)modes
{
int net;
struct sockaddr_in sin;
@ -322,9 +322,9 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
return self;
}
- (id)initAsServerAtAddress: a
service: s
protocol: p
- (id) initAsServerAtAddress: (NSString*)a
service: (NSString*)s
protocol: (NSString*)p
{
int status = 1;
int net;
@ -493,7 +493,8 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
{
self = [self initWithFileDescriptor: open("/dev/null", O_RDWR|O_BINARY)
closeOnDealloc: YES];
if (self) {
if (self)
{
isNullDevice = YES;
}
return self;
@ -944,6 +945,8 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
[self ignoreReadDescriptor];
[self ignoreWriteDescriptor];
if (isNonBlocking != wasNonBlocking)
[self setNonBlocking: wasNonBlocking];
(void)close(descriptor);
descriptor = -1;
acceptOK = NO;