mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-26 10:11:03 +00:00
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:
parent
1daeda4dfc
commit
95d9e13da4
2 changed files with 86 additions and 78 deletions
|
@ -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>
|
Thu Jul 22 13:55:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||||
|
|
||||||
* Source/NSTimeZone.m: ([-initWithOffset:]) bugfix by Kai Henningsen
|
* Source/NSTimeZone.m: ([-initWithOffset:]) bugfix by Kai Henningsen
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Implementation for UnixFileHandle for GNUStep
|
/* 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>
|
Written by: Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||||
Date: 1997
|
Date: 1997
|
||||||
|
@ -192,13 +192,13 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
|
||||||
|
|
||||||
if (descriptor != -1)
|
if (descriptor != -1)
|
||||||
{
|
{
|
||||||
|
if (isNonBlocking != wasNonBlocking)
|
||||||
|
[self setNonBlocking: wasNonBlocking];
|
||||||
if (closeOnDealloc == YES)
|
if (closeOnDealloc == YES)
|
||||||
{
|
{
|
||||||
close(descriptor);
|
close(descriptor);
|
||||||
descriptor = -1;
|
descriptor = -1;
|
||||||
}
|
}
|
||||||
else if (isNonBlocking != wasNonBlocking)
|
|
||||||
[self setNonBlocking: wasNonBlocking];
|
|
||||||
}
|
}
|
||||||
[readInfo release];
|
[readInfo release];
|
||||||
[writeInfo release];
|
[writeInfo release];
|
||||||
|
@ -212,9 +212,9 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
|
||||||
return [self initWithNullDevice];
|
return [self initWithNullDevice];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id)initAsClientAtAddress: a
|
- (id) initAsClientAtAddress: (NSString*)a
|
||||||
service: s
|
service: (NSString*)s
|
||||||
protocol: p
|
protocol: (NSString*)p
|
||||||
{
|
{
|
||||||
int net;
|
int net;
|
||||||
struct sockaddr_in sin;
|
struct sockaddr_in sin;
|
||||||
|
@ -259,10 +259,10 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id)initAsClientInBackgroundAtAddress: a
|
- (id) initAsClientInBackgroundAtAddress: (NSString*)a
|
||||||
service: s
|
service: (NSString*)s
|
||||||
protocol: p
|
protocol: (NSString*)p
|
||||||
forModes: modes
|
forModes: (NSArray*)modes
|
||||||
{
|
{
|
||||||
int net;
|
int net;
|
||||||
struct sockaddr_in sin;
|
struct sockaddr_in sin;
|
||||||
|
@ -322,9 +322,9 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id)initAsServerAtAddress: a
|
- (id) initAsServerAtAddress: (NSString*)a
|
||||||
service: s
|
service: (NSString*)s
|
||||||
protocol: p
|
protocol: (NSString*)p
|
||||||
{
|
{
|
||||||
int status = 1;
|
int status = 1;
|
||||||
int net;
|
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)
|
self = [self initWithFileDescriptor: open("/dev/null", O_RDWR|O_BINARY)
|
||||||
closeOnDealloc: YES];
|
closeOnDealloc: YES];
|
||||||
if (self) {
|
if (self)
|
||||||
|
{
|
||||||
isNullDevice = YES;
|
isNullDevice = YES;
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
|
@ -944,6 +945,8 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
|
||||||
[self ignoreReadDescriptor];
|
[self ignoreReadDescriptor];
|
||||||
[self ignoreWriteDescriptor];
|
[self ignoreWriteDescriptor];
|
||||||
|
|
||||||
|
if (isNonBlocking != wasNonBlocking)
|
||||||
|
[self setNonBlocking: wasNonBlocking];
|
||||||
(void)close(descriptor);
|
(void)close(descriptor);
|
||||||
descriptor = -1;
|
descriptor = -1;
|
||||||
acceptOK = NO;
|
acceptOK = NO;
|
||||||
|
|
Loading…
Reference in a new issue