diff options
author | raf <none@none> | 2006-06-20 19:21:46 -0700 |
---|---|---|
committer | raf <none@none> | 2006-06-20 19:21:46 -0700 |
commit | f841f6ad96ea6675d6c6b35c749eaac601799fdf (patch) | |
tree | 698db5d44fc99bd070613c93a497f5e93e803bc5 /usr/src/lib/libc/port/threads/scalls.c | |
parent | 545e5dad7996785cfebf226c5ef410c1b154740f (diff) | |
download | illumos-gate-f841f6ad96ea6675d6c6b35c749eaac601799fdf.tar.gz |
6416832 libaio and librt can and should be folded into libc
--HG--
rename : usr/src/cmd/perl/5.8.4/distrib/ext/Time/HiRes/hints/solaris.pl => deleted_files/usr/src/cmd/perl/5.8.4/distrib/ext/Time/HiRes/hints/solaris.pl
rename : usr/src/lib/libaio/common/Makefile => deleted_files/usr/src/lib/libaio/common/Makefile
rename : usr/src/lib/libaio/common/scalls.c => deleted_files/usr/src/lib/libaio/common/scalls.c
rename : usr/src/lib/libaio/common/sig.c => deleted_files/usr/src/lib/libaio/common/sig.c
rename : usr/src/lib/libaio/common/subr.c => deleted_files/usr/src/lib/libaio/common/subr.c
rename : usr/src/lib/libaio/spec/Makefile => deleted_files/usr/src/lib/libaio/spec/Makefile
rename : usr/src/lib/libaio/spec/Makefile.targ => deleted_files/usr/src/lib/libaio/spec/Makefile.targ
rename : usr/src/lib/libaio/spec/amd64/Makefile => deleted_files/usr/src/lib/libaio/spec/amd64/Makefile
rename : usr/src/lib/libaio/spec/i386/Makefile => deleted_files/usr/src/lib/libaio/spec/i386/Makefile
rename : usr/src/lib/libaio/spec/sparc/Makefile => deleted_files/usr/src/lib/libaio/spec/sparc/Makefile
rename : usr/src/lib/libaio/spec/sparcv9/Makefile => deleted_files/usr/src/lib/libaio/spec/sparcv9/Makefile
rename : usr/src/lib/libaio/spec/versions => deleted_files/usr/src/lib/libaio/spec/versions
rename : usr/src/lib/librt/common/Makefile => deleted_files/usr/src/lib/librt/common/Makefile
rename : usr/src/lib/librt/common/aio.c => deleted_files/usr/src/lib/librt/common/aio.c
rename : usr/src/lib/librt/common/fdatasync.c => deleted_files/usr/src/lib/librt/common/fdatasync.c
rename : usr/src/lib/librt/common/mqlib.h => deleted_files/usr/src/lib/librt/common/mqlib.h
rename : usr/src/lib/librt/common/pos4.c => deleted_files/usr/src/lib/librt/common/pos4.c
rename : usr/src/lib/librt/common/pos4.h => deleted_files/usr/src/lib/librt/common/pos4.h
rename : usr/src/lib/librt/common/sigrt.c => deleted_files/usr/src/lib/librt/common/sigrt.c
rename : usr/src/lib/librt/req.flg => deleted_files/usr/src/lib/librt/req.flg
rename : usr/src/lib/librt/spec/Makefile => deleted_files/usr/src/lib/librt/spec/Makefile
rename : usr/src/lib/librt/spec/Makefile.targ => deleted_files/usr/src/lib/librt/spec/Makefile.targ
rename : usr/src/lib/librt/spec/amd64/Makefile => deleted_files/usr/src/lib/librt/spec/amd64/Makefile
rename : usr/src/lib/librt/spec/i386/Makefile => deleted_files/usr/src/lib/librt/spec/i386/Makefile
rename : usr/src/lib/librt/spec/sparc/Makefile => deleted_files/usr/src/lib/librt/spec/sparc/Makefile
rename : usr/src/lib/librt/spec/sparcv9/Makefile => deleted_files/usr/src/lib/librt/spec/sparcv9/Makefile
rename : usr/src/lib/librt/spec/versions => deleted_files/usr/src/lib/librt/spec/versions
rename : usr/src/lib/libaio/common/libaio.h => usr/src/lib/libc/inc/asyncio.h
rename : usr/src/lib/librt/common/thread_pool.h => usr/src/lib/libc/inc/thread_pool.h
rename : usr/src/lib/libaio/common/aio.c => usr/src/lib/libc/port/aio/aio.c
rename : usr/src/lib/libaio/common/ma.c => usr/src/lib/libc/port/aio/aio_alloc.c
rename : usr/src/lib/libaio/common/posix_aio.c => usr/src/lib/libc/port/aio/posix_aio.c
rename : usr/src/lib/librt/common/clock_timer.c => usr/src/lib/libc/port/rt/clock_timer.c
rename : usr/src/lib/librt/common/fallocate.c => usr/src/lib/libc/port/rt/fallocate.c
rename : usr/src/lib/librt/common/mqueue.c => usr/src/lib/libc/port/rt/mqueue.c
rename : usr/src/lib/librt/common/pos4obj.c => usr/src/lib/libc/port/rt/pos4obj.c
rename : usr/src/lib/librt/common/pos4obj.h => usr/src/lib/libc/port/rt/pos4obj.h
rename : usr/src/lib/librt/common/sched.c => usr/src/lib/libc/port/rt/sched.c
rename : usr/src/lib/librt/common/sem.c => usr/src/lib/libc/port/rt/sem.c
rename : usr/src/lib/librt/common/shm.c => usr/src/lib/libc/port/rt/shm.c
rename : usr/src/lib/librt/common/sigev_thread.c => usr/src/lib/libc/port/rt/sigev_thread.c
rename : usr/src/lib/librt/common/sigev_thread.h => usr/src/lib/libc/port/rt/sigev_thread.h
rename : usr/src/lib/librt/common/thread_pool.c => usr/src/lib/libc/port/tpool/thread_pool.c
rename : usr/src/lib/librt/common/thread_pool_impl.h => usr/src/lib/libc/port/tpool/thread_pool_impl.h
rename : usr/src/lib/libaio/spec/aio.spec => usr/src/lib/libc/spec/aio.spec
rename : usr/src/lib/librt/spec/rt.spec => usr/src/lib/libc/spec/rt.spec
rename : usr/src/lib/libaio/asynch.h => usr/src/uts/common/sys/asynch.h
Diffstat (limited to 'usr/src/lib/libc/port/threads/scalls.c')
-rw-r--r-- | usr/src/lib/libc/port/threads/scalls.c | 48 |
1 files changed, 34 insertions, 14 deletions
diff --git a/usr/src/lib/libc/port/threads/scalls.c b/usr/src/lib/libc/port/threads/scalls.c index b3287040f1..67a2a6341f 100644 --- a/usr/src/lib/libc/port/threads/scalls.c +++ b/usr/src/lib/libc/port/threads/scalls.c @@ -206,7 +206,7 @@ _fork1(void) self->ul_siginfo.si_signo = 0; udp->pid = _private_getpid(); /* reset the library's data structures to reflect one thread */ - _postfork1_child(); + postfork1_child(); restore_signals(self); _postfork_child_handler(); } else { @@ -375,8 +375,8 @@ _forkall(void) } /* - * Externally-callable cancellation prologue and epilogue - * functions, for cancellation points outside of libc. + * Cancellation prologue and epilogue functions, + * for cancellation points too complex to include here. */ void _cancel_prologue(void) @@ -504,13 +504,14 @@ __xpg4_putpmsg(int fd, const struct strbuf *ctlptr, PERFORM(_putpmsg(fd, ctlptr, dataptr, band, flags|MSG_XPG4)) } +#pragma weak nanosleep = _nanosleep int -__nanosleep(const timespec_t *rqtp, timespec_t *rmtp) +_nanosleep(const timespec_t *rqtp, timespec_t *rmtp) { int error; PROLOGUE - error = ___nanosleep(rqtp, rmtp); + error = __nanosleep(rqtp, rmtp); EPILOGUE if (error) { errno = error; @@ -519,8 +520,9 @@ __nanosleep(const timespec_t *rqtp, timespec_t *rmtp) return (0); } +#pragma weak clock_nanosleep = _clock_nanosleep int -__clock_nanosleep(clockid_t clock_id, int flags, +_clock_nanosleep(clockid_t clock_id, int flags, const timespec_t *rqtp, timespec_t *rmtp) { timespec_t reltime; @@ -550,7 +552,7 @@ __clock_nanosleep(clockid_t clock_id, int flags, } restart: PROLOGUE - error = ___nanosleep(&reltime, rmtp); + error = __nanosleep(&reltime, rmtp); EPILOGUE if (error == 0 && clock_id == CLOCK_HIGHRES) { /* @@ -607,7 +609,7 @@ _sleep(unsigned int sec) ts.tv_sec = (time_t)sec; ts.tv_nsec = 0; PROLOGUE - error = ___nanosleep(&ts, &tsr); + error = __nanosleep(&ts, &tsr); EPILOGUE if (error == EINTR) { rem = (unsigned int)tsr.tv_sec; @@ -626,7 +628,7 @@ _usleep(useconds_t usec) ts.tv_sec = usec / MICROSEC; ts.tv_nsec = (long)(usec % MICROSEC) * 1000; PROLOGUE - (void) ___nanosleep(&ts, NULL); + (void) __nanosleep(&ts, NULL); EPILOGUE return (0); } @@ -634,9 +636,11 @@ _usleep(useconds_t usec) int close(int fildes) { + extern void _aio_close(int); extern int _close(int); int rv; + _aio_close(fildes); PERFORM(_close(fildes)) } @@ -856,17 +860,17 @@ _pollsys(struct pollfd *fds, nfds_t nfd, const timespec_t *timeout, return (rv); } +#pragma weak sigtimedwait = _sigtimedwait int -__sigtimedwait(const sigset_t *set, siginfo_t *infop, - const timespec_t *timeout) +_sigtimedwait(const sigset_t *set, siginfo_t *infop, const timespec_t *timeout) { - extern int ___sigtimedwait(const sigset_t *, siginfo_t *, + extern int __sigtimedwait(const sigset_t *, siginfo_t *, const timespec_t *); siginfo_t info; int sig; PROLOGUE - sig = ___sigtimedwait(set, &info, timeout); + sig = __sigtimedwait(set, &info, timeout); if (sig == SIGCANCEL && (SI_FROMKERNEL(&info) || info.si_code == SI_LWP)) { do_sigcancel(); @@ -883,7 +887,23 @@ __sigtimedwait(const sigset_t *set, siginfo_t *infop, int _sigwait(sigset_t *set) { - return (__sigtimedwait(set, NULL, NULL)); + return (_sigtimedwait(set, NULL, NULL)); +} + +#pragma weak sigwaitinfo = _sigwaitinfo +int +_sigwaitinfo(const sigset_t *set, siginfo_t *info) +{ + return (_sigtimedwait(set, info, NULL)); +} + +#pragma weak sigqueue = _sigqueue +int +_sigqueue(pid_t pid, int signo, const union sigval value) +{ + extern int __sigqueue(pid_t pid, int signo, + /* const union sigval */ void *value, int si_code, int block); + return (__sigqueue(pid, signo, value.sival_ptr, SI_QUEUE, 0)); } int |