| line |
true |
false |
branch |
|
85
|
0 |
0 |
result->fd= fd >= 0? dup(fd) : -1; |
|
86
|
0 |
0 |
if (result->fd < 0) { |
|
94
|
0 |
0 |
if (count) |
|
105
|
0 |
0 |
if (from_thread) { |
|
110
|
0 |
0 |
if (!result->ready && !ASYNC_RESULT_IS_THREAD_ALIVE(result)) { |
|
|
0 |
0 |
if (!result->ready && !ASYNC_RESULT_IS_THREAD_ALIVE(result)) { |
|
|
0 |
0 |
if (!result->ready && !ASYNC_RESULT_IS_THREAD_ALIVE(result)) { |
|
118
|
0 |
0 |
cleanup_perl_half= destroy || (!result->ready && result->refcount == 1); |
|
|
0 |
0 |
cleanup_perl_half= destroy || (!result->ready && result->refcount == 1); |
|
|
0 |
0 |
cleanup_perl_half= destroy || (!result->ready && result->refcount == 1); |
|
120
|
0 |
0 |
if (cleanup_thread_half) { |
|
128
|
0 |
0 |
if (result->fd >= 0) |
|
133
|
0 |
0 |
if (cleanup_perl_half) { |
|
143
|
0 |
0 |
if (destroy) { |
|
204
|
0 |
0 |
if (timeout_msec >= 0) { |
|
208
|
0 |
0 |
if (ts.tv_nsec >= 1000000000) { |
|
215
|
0 |
0 |
while (!result->ready) { |
|
217
|
0 |
0 |
: pthread_cond_timedwait(&result->cond, &result->mutex, &ts); |
|
218
|
0 |
0 |
if (rc == ETIMEDOUT) |
|
224
|
0 |
0 |
if (ready) { |
|
225
|
0 |
0 |
if (total_written) *total_written= result->total_written; |
|
226
|
0 |
0 |
if (os_err) *os_err= result->os_err; |
|
277
|
0 |
0 |
while (result->total_written < result->secret_len) { |
|
280
|
0 |
0 |
if (wrote <= 0) { |
|
281
|
0 |
0 |
if (wrote < 0 && errno == EINTR) |
|
|
0 |
0 |
if (wrote < 0 && errno == EINTR) |
|
283
|
0 |
0 |
else if (wrote < 0 && (errno == EAGAIN || errno == EWOULDBLOCK)) { |
|
|
0 |
0 |
else if (wrote < 0 && (errno == EAGAIN || errno == EWOULDBLOCK)) { |
|
|
0 |
0 |
else if (wrote < 0 && (errno == EAGAIN || errno == EWOULDBLOCK)) { |
|
286
|
0 |
0 |
FD_ZERO(&writeable); |
|
288
|
0 |
0 |
if (select(result->fd + 1, NULL, &writeable, NULL, NULL) > 0 || errno == EINTR) |
|
|
0 |
0 |
if (select(result->fd + 1, NULL, &writeable, NULL, NULL) > 0 || errno == EINTR) |
|
293
|
0 |
0 |
secret_buffer_async_result_send(result, wrote == 0? 0 : errno); |
|
314
|
0 |
3 |
if (count == 0) |
|
318
|
0 |
3 |
if (fd < 0) |
|
382
|
3 |
0 |
if (!(old_flags & O_NONBLOCK)) |
|
383
|
0 |
3 |
if (fcntl(fd, F_SETFL, old_flags | O_NONBLOCK) < 0) |
|
390
|
3 |
0 |
if (!(old_flags & O_NONBLOCK)) { |
|
396
|
3 |
0 |
if (total_written == count) |
|
398
|
0 |
0 |
else if (total_written < 0 && errno != EAGAIN && errno != EWOULDBLOCK) |
|
|
0 |
0 |
else if (total_written < 0 && errno != EAGAIN && errno != EWOULDBLOCK) |
|
|
0 |
0 |
else if (total_written < 0 && errno != EAGAIN && errno != EWOULDBLOCK) |
|
400
|
0 |
0 |
if (total_written < 0) |
|
405
|
0 |
0 |
if (pthread_create(&thread, NULL, secret_buffer_async_writer, result) != 0) { |
|
411
|
0 |
0 |
if (!result->started) |
|
416
|
0 |
0 |
if (ref_out) |