| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is ppoll/pselect equivalent for io_getevents. It atomically executes
the following sequence:
sigset_t origmask;
pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);
ret = io_getevents(ctx, min_nr, nr, events, timeout);
pthread_sigmask(SIG_SETMASK, &origmask, NULL);
And thus allows to safely mix aio and signals, especially together with
IO_CMD_POLL. See the pselect(2) man page for a more detailed explanation.
Signed-off-by: Christoph Hellwig <hch@lst.de>
[JEM: add sigset size parameter to io_pgetevents]
Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Maintaining the custom system call code for each architecture
is a burden. I'm not convinced that we have clobber registers
correct, and at best, we are just duplicating work that has
already been done by the glibc maintainers.
I asked Ben what the reasoning was behind not just using syscall.
This was his answer:
The main issue was that glibc's pthreads implementation really
sucked back during initial development and there was a use-case
for having the io_XXX functions usable directly from clone()ed
threads that didn't have all the glibc pthread state setup for
per-cpu areas to handle per-thread errno. That made sense back
then, but is rather silly today.
This patch gets rid of the architecture specific system call
wrappers in favor of using syscall(). We leave the per-arch
header files with the syscall numbers because we'll be adding
a new system call soon, and this will allow us to add the
new number without requiring newer kernels on build servers.
Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
|
|
|
|
|
| |
introduced when clobber lists changed.
- add ppc64pseries and ppc64iseries to exclusivearch
|
|
|
|
| |
build. fix s390 build errors for rh9
|
| |
|
| |
|
|
|