equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. Oracle designates this |
7 * published by the Free Software Foundation. Oracle designates this |
101 } |
101 } |
102 /* ECONNABORTED => restart accept */ |
102 /* ECONNABORTED => restart accept */ |
103 } |
103 } |
104 |
104 |
105 if (newfd < 0) { |
105 if (newfd < 0) { |
106 if (errno == EAGAIN) |
106 if (errno == EAGAIN || errno == EWOULDBLOCK) |
107 return IOS_UNAVAILABLE; |
107 return IOS_UNAVAILABLE; |
108 if (errno == EINTR) |
108 if (errno == EINTR) |
109 return IOS_INTERRUPTED; |
109 return IOS_INTERRUPTED; |
110 JNU_ThrowIOExceptionWithLastError(env, "Accept failed"); |
110 JNU_ThrowIOExceptionWithLastError(env, "Accept failed"); |
111 return IOS_THROWN; |
111 return IOS_THROWN; |