< prev index next >
src/os/aix/vm/attachListener_aix.cpp
Print this page
rev 10248 : 8150232: AIX cleanup: Integrate changes of 7178026 and others
*** 1,8 ****
/*
! * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
! * Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,8 ----
/*
! * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
! * Copyright (c) 2012, 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 223,233 ****
strcpy(addr.sun_path, initial_path);
::unlink(initial_path);
// We must call bind with the actual socketaddr length. This is obligatory for AS400.
int res = ::bind(listener, (struct sockaddr*)&addr, SUN_LEN(&addr));
if (res == -1) {
! RESTARTABLE(::close(listener), res);
return -1;
}
// put in listen mode, set permissions, and rename into place
res = ::listen(listener, 5);
--- 223,233 ----
strcpy(addr.sun_path, initial_path);
::unlink(initial_path);
// We must call bind with the actual socketaddr length. This is obligatory for AS400.
int res = ::bind(listener, (struct sockaddr*)&addr, SUN_LEN(&addr));
if (res == -1) {
! ::close(listener);
return -1;
}
// put in listen mode, set permissions, and rename into place
res = ::listen(listener, 5);
*** 236,246 ****
if (res == 0) {
res = ::rename(initial_path, path);
}
}
if (res == -1) {
! RESTARTABLE(::close(listener), res);
::unlink(initial_path);
return -1;
}
set_path(path);
set_listener(listener);
--- 236,246 ----
if (res == 0) {
res = ::rename(initial_path, path);
}
}
if (res == -1) {
! ::close(listener);
::unlink(initial_path);
return -1;
}
set_path(path);
set_listener(listener);
*** 398,408 ****
// peer credential look okay so we read the request
AixAttachOperation* op = read_request(s);
if (op == NULL) {
int res;
! RESTARTABLE(::close(s), res);
continue;
} else {
return op;
}
}
--- 398,408 ----
// peer credential look okay so we read the request
AixAttachOperation* op = read_request(s);
if (op == NULL) {
int res;
! ::close(s);
continue;
} else {
return op;
}
}
*** 450,460 ****
// one agent attach in a sequence (see comments to listener_cleanup()).
AixAttachListener::write_fully(this->socket(), (char*) st->base(), st->size());
}
// done
! RESTARTABLE(::close(this->socket()), rc);
// were we externally suspended while we were waiting?
thread->check_and_wait_while_suspended();
delete this;
--- 450,460 ----
// one agent attach in a sequence (see comments to listener_cleanup()).
AixAttachListener::write_fully(this->socket(), (char*) st->base(), st->size());
}
// done
! ::close(this->socket());
// were we externally suspended while we were waiting?
thread->check_and_wait_while_suspended();
delete this;
< prev index next >