1
0
mirror of https://sourceware.org/git/glibc.git synced 2026-01-06 11:51:29 +03:00
* sysdeps/pthread/aio_misc.h: Mark __aio_requests_mutex,
	__aio_enqueue_request, __aio_find_req, __aio_find_req_fd,
	__aio_free_request, __aio_notify, and __aio_sigqueue as hidden.

	* sysdeps/pthread/aio_suspend.c (aio_suspend): Set errno to the result
	of pthread_cond_wait if there was an error.  Use pthread_cleanup_*
	instead of __lbic_cleanup_region_*.
This commit is contained in:
Ulrich Drepper
2003-06-24 02:50:16 +00:00
parent 7b0a32a305
commit 67b78ef91b
9 changed files with 474 additions and 176 deletions

View File

@@ -141,7 +141,7 @@ aio_suspend (list, nent, timeout)
.nent = nent
};
__libc_cleanup_region_start (1, cleanup, &clparam);
pthread_cleanup_push (cleanup, &clparam);
if (timeout == NULL)
result = pthread_cond_wait (&cond, &__aio_requests_mutex);
@@ -165,7 +165,7 @@ aio_suspend (list, nent, timeout)
&abstime);
}
__libc_cleanup_region_end (0);
pthread_cleanup_pop (0);
}
/* Now remove the entry in the waiting list for all requests
@@ -199,8 +199,8 @@ aio_suspend (list, nent, timeout)
form expected from `aio_suspend'. */
if (result == ETIMEDOUT)
__set_errno (EAGAIN);
else if (result == EINTR)
__set_errno (EINTR);
else
__set_errno (result);
result = -1;
}