head 1.13; access; symbols netbsd-10-0-RELEASE:1.13 netbsd-10-0-RC6:1.13 netbsd-10-0-RC5:1.13 netbsd-10-0-RC4:1.13 netbsd-10-0-RC3:1.13 netbsd-10-0-RC2:1.13 netbsd-10-0-RC1:1.13 netbsd-10:1.13.0.14 netbsd-10-base:1.13 netbsd-9-3-RELEASE:1.13 cjep_sun2x-base1:1.13 cjep_sun2x:1.13.0.12 cjep_sun2x-base:1.13 cjep_staticlib_x-base1:1.13 netbsd-9-2-RELEASE:1.13 cjep_staticlib_x:1.13.0.10 cjep_staticlib_x-base:1.13 netbsd-9-1-RELEASE:1.13 phil-wifi-20200421:1.13 phil-wifi-20200411:1.13 is-mlppp:1.13.0.8 is-mlppp-base:1.13 phil-wifi-20200406:1.13 netbsd-8-2-RELEASE:1.12 netbsd-9-0-RELEASE:1.13 netbsd-9-0-RC2:1.13 netbsd-9-0-RC1:1.13 phil-wifi-20191119:1.13 netbsd-9:1.13.0.6 netbsd-9-base:1.13 phil-wifi-20190609:1.13 netbsd-8-1-RELEASE:1.12 netbsd-8-1-RC1:1.12 pgoyette-compat-merge-20190127:1.13 pgoyette-compat-20190127:1.13 pgoyette-compat-20190118:1.13 pgoyette-compat-1226:1.13 pgoyette-compat-1126:1.13 pgoyette-compat-1020:1.13 pgoyette-compat-0930:1.13 pgoyette-compat-0906:1.13 netbsd-7-2-RELEASE:1.12 pgoyette-compat-0728:1.13 netbsd-8-0-RELEASE:1.12 phil-wifi:1.13.0.4 phil-wifi-base:1.13 pgoyette-compat-0625:1.13 netbsd-8-0-RC2:1.12 pgoyette-compat-0521:1.13 pgoyette-compat-0502:1.13 pgoyette-compat-0422:1.13 netbsd-8-0-RC1:1.12 pgoyette-compat-0415:1.13 pgoyette-compat-0407:1.13 pgoyette-compat-0330:1.13 pgoyette-compat-0322:1.13 pgoyette-compat-0315:1.13 netbsd-7-1-2-RELEASE:1.12 pgoyette-compat:1.13.0.2 pgoyette-compat-base:1.13 netbsd-7-1-1-RELEASE:1.12 matt-nb8-mediatek:1.12.0.22 matt-nb8-mediatek-base:1.12 perseant-stdc-iso10646:1.12.0.20 perseant-stdc-iso10646-base:1.12 netbsd-8:1.12.0.18 netbsd-8-base:1.12 prg-localcount2-base3:1.12 prg-localcount2-base2:1.12 prg-localcount2-base1:1.12 prg-localcount2:1.12.0.16 prg-localcount2-base:1.12 pgoyette-localcount-20170426:1.12 bouyer-socketcan-base1:1.12 pgoyette-localcount-20170320:1.12 netbsd-7-1:1.12.0.14 netbsd-7-1-RELEASE:1.12 netbsd-7-1-RC2:1.12 netbsd-7-nhusb-base-20170116:1.12 bouyer-socketcan:1.12.0.12 bouyer-socketcan-base:1.12 pgoyette-localcount-20170107:1.12 netbsd-7-1-RC1:1.12 pgoyette-localcount-20161104:1.12 netbsd-7-0-2-RELEASE:1.12 localcount-20160914:1.12 netbsd-7-nhusb:1.12.0.10 netbsd-7-nhusb-base:1.12 pgoyette-localcount-20160806:1.12 pgoyette-localcount-20160726:1.12 pgoyette-localcount:1.12.0.8 pgoyette-localcount-base:1.12 netbsd-7-0-1-RELEASE:1.12 netbsd-7-0:1.12.0.6 netbsd-7-0-RELEASE:1.12 netbsd-7-0-RC3:1.12 netbsd-7-0-RC2:1.12 netbsd-7-0-RC1:1.12 netbsd-5-2-3-RELEASE:1.10 netbsd-5-1-5-RELEASE:1.10 netbsd-6-0-6-RELEASE:1.11 netbsd-6-1-5-RELEASE:1.11 netbsd-7:1.12.0.4 netbsd-7-base:1.12 yamt-pagecache-base9:1.12 yamt-pagecache-tag8:1.11 netbsd-6-1-4-RELEASE:1.11 netbsd-6-0-5-RELEASE:1.11 tls-earlyentropy:1.12.0.2 tls-earlyentropy-base:1.12 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.12 riastradh-drm2-base3:1.12 netbsd-6-1-3-RELEASE:1.11 netbsd-6-0-4-RELEASE:1.11 netbsd-5-2-2-RELEASE:1.10 netbsd-5-1-4-RELEASE:1.10 netbsd-6-1-2-RELEASE:1.11 netbsd-6-0-3-RELEASE:1.11 netbsd-5-2-1-RELEASE:1.10 netbsd-5-1-3-RELEASE:1.10 netbsd-6-1-1-RELEASE:1.11 riastradh-drm2-base2:1.11 riastradh-drm2-base1:1.11 riastradh-drm2:1.11.0.20 riastradh-drm2-base:1.11 netbsd-6-1:1.11.0.24 netbsd-6-0-2-RELEASE:1.11 netbsd-6-1-RELEASE:1.11 netbsd-6-1-RC4:1.11 netbsd-6-1-RC3:1.11 agc-symver:1.11.0.22 agc-symver-base:1.11 netbsd-6-1-RC2:1.11 netbsd-6-1-RC1:1.11 yamt-pagecache-base8:1.11 netbsd-5-2:1.10.0.6 netbsd-6-0-1-RELEASE:1.11 yamt-pagecache-base7:1.11 netbsd-5-2-RELEASE:1.10 netbsd-5-2-RC1:1.10 matt-nb6-plus-nbase:1.11 yamt-pagecache-base6:1.11 netbsd-6-0:1.11.0.18 netbsd-6-0-RELEASE:1.11 netbsd-6-0-RC2:1.11 tls-maxphys:1.11.0.16 tls-maxphys-base:1.12 matt-nb6-plus:1.11.0.14 matt-nb6-plus-base:1.11 netbsd-6-0-RC1:1.11 yamt-pagecache-base5:1.11 yamt-pagecache-base4:1.11 netbsd-6:1.11.0.12 netbsd-6-base:1.11 netbsd-5-1-2-RELEASE:1.10 netbsd-5-1-1-RELEASE:1.10 yamt-pagecache-base3:1.11 yamt-pagecache-base2:1.11 yamt-pagecache:1.11.0.10 yamt-pagecache-base:1.11 cherry-xenmp:1.11.0.8 cherry-xenmp-base:1.11 uebayasi-xip-base7:1.11 bouyer-quota2-nbase:1.11 bouyer-quota2:1.11.0.6 bouyer-quota2-base:1.11 matt-mips64-premerge-20101231:1.11 matt-nb5-mips64-premerge-20101231:1.10 matt-nb5-pq3:1.10.0.18 matt-nb5-pq3-base:1.10 netbsd-5-1:1.10.0.16 uebayasi-xip-base6:1.11 uebayasi-xip-base5:1.11 netbsd-5-1-RELEASE:1.10 uebayasi-xip-base4:1.11 uebayasi-xip-base3:1.11 netbsd-5-1-RC4:1.10 matt-nb5-mips64-k15:1.10 uebayasi-xip-base2:1.11 netbsd-5-1-RC3:1.10 netbsd-5-1-RC2:1.10 uebayasi-xip-base1:1.11 netbsd-5-1-RC1:1.10 uebayasi-xip:1.11.0.4 uebayasi-xip-base:1.11 netbsd-5-0-2-RELEASE:1.10 matt-nb5-mips64-premerge-20091211:1.10 matt-premerge-20091211:1.11 matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.10 matt-nb4-mips64-k7-u2a-k9b:1.10 matt-nb5-mips64-u1-k1-k5:1.10 matt-nb5-mips64:1.10.0.14 netbsd-5-0-1-RELEASE:1.10 jym-xensuspend-nbase:1.11 netbsd-5-0:1.10.0.12 netbsd-5-0-RELEASE:1.10 netbsd-5-0-RC4:1.10 netbsd-5-0-RC3:1.10 netbsd-5-0-RC2:1.10 jym-xensuspend:1.11.0.2 jym-xensuspend-base:1.11 netbsd-5-0-RC1:1.10 christos-time_t-nbase:1.10 christos-time_t:1.10.0.10 christos-time_t-base:1.10 netbsd-5:1.10.0.8 netbsd-5-base:1.10 matt-mips64-base2:1.10 matt-mips64:1.6.0.4 netbsd-4-0-1-RELEASE:1.4 wrstuden-revivesa-base-3:1.10 wrstuden-revivesa-base-2:1.10 wrstuden-fixsa-newbase:1.4 wrstuden-revivesa-base-1:1.10 simonb-wapbl-nbase:1.10 yamt-pf42-base4:1.10 simonb-wapbl:1.10.0.4 simonb-wapbl-base:1.10 yamt-pf42-base3:1.10 hpcarm-cleanup-nbase:1.10 yamt-pf42-baseX:1.9 yamt-pf42-base2:1.10 wrstuden-revivesa:1.10.0.2 wrstuden-revivesa-base:1.10 yamt-pf42:1.9.0.6 yamt-pf42-base:1.9 keiichi-mipv6:1.9.0.4 keiichi-mipv6-base:1.9 matt-armv6-nbase:1.9 matt-armv6-prevmlocking:1.7 wrstuden-fixsa-base-1:1.4 netbsd-4-0:1.4.0.14 netbsd-4-0-RELEASE:1.4 cube-autoconf:1.9.0.2 cube-autoconf-base:1.9 netbsd-4-0-RC5:1.4 netbsd-4-0-RC4:1.4 netbsd-4-0-RC3:1.4 netbsd-4-0-RC2:1.4 netbsd-4-0-RC1:1.4 matt-armv6:1.7.0.2 matt-armv6-base:1.7 matt-mips64-base:1.6 hpcarm-cleanup:1.6.0.2 hpcarm-cleanup-base:1.9 netbsd-3-1-1-RELEASE:1.4 netbsd-3-0-3-RELEASE:1.4 wrstuden-fixsa:1.4.0.12 wrstuden-fixsa-base:1.4 abandoned-netbsd-4-base:1.4 abandoned-netbsd-4:1.4.0.6 netbsd-3-1:1.4.0.8 netbsd-3-1-RELEASE:1.4 netbsd-3-0-2-RELEASE:1.4 netbsd-3-1-RC4:1.4 netbsd-3-1-RC3:1.4 netbsd-3-1-RC2:1.4 netbsd-3-1-RC1:1.4 netbsd-4:1.4.0.10 netbsd-4-base:1.4 netbsd-3-0-1-RELEASE:1.4 netbsd-3-0:1.4.0.4 netbsd-3-0-RELEASE:1.4 netbsd-3-0-RC6:1.4 netbsd-3-0-RC5:1.4 netbsd-3-0-RC4:1.4 netbsd-3-0-RC3:1.4 netbsd-3-0-RC2:1.4 netbsd-3-0-RC1:1.4 netbsd-2-0-3-RELEASE:1.2 netbsd-2-1:1.2.0.6 netbsd-2-1-RELEASE:1.2 netbsd-2-1-RC6:1.2 netbsd-2-1-RC5:1.2 netbsd-2-1-RC4:1.2 netbsd-2-1-RC3:1.2 netbsd-2-1-RC2:1.2 netbsd-2-1-RC1:1.2 netbsd-2-0-2-RELEASE:1.2 netbsd-3:1.4.0.2 netbsd-3-base:1.4 netbsd-2-0-1-RELEASE:1.2 netbsd-2:1.2.0.4 netbsd-2-base:1.2 netbsd-2-0-RELEASE:1.2 netbsd-2-0-RC5:1.2 netbsd-2-0-RC4:1.2 netbsd-2-0-RC3:1.2 netbsd-2-0-RC2:1.2 netbsd-2-0-RC1:1.2 netbsd-2-0:1.2.0.2 netbsd-2-0-base:1.2 nathanw_sa_before_merge:1.1 nathanw_sa_end:1.1.2.3 nathanw_sa_base:1.1 nathanw_sa:1.1.0.2; locks; strict; comment @ * @; 1.13 date 2017.12.08.01.19.29; author christos; state Exp; branches; next 1.12; commitid JDplQWyDyLddF1iA; 1.12 date 2014.01.31.20.44.17; author christos; state Exp; branches; next 1.11; commitid ECsrBMkzKZc9ljnx; 1.11 date 2009.01.11.03.04.12; author christos; state Exp; branches 1.11.10.1 1.11.16.1; next 1.10; 1.10 date 2008.04.28.20.22.54; author martin; state Exp; branches 1.10.10.1; next 1.9; 1.9 date 2007.11.13.17.38.55; author ad; state Exp; branches 1.9.6.1; next 1.8; 1.8 date 2007.11.07.00.34.45; author ad; state Exp; branches; next 1.7; 1.7 date 2007.08.07.19.04.21; author ad; state Exp; branches 1.7.2.1; next 1.6; 1.6 date 2007.02.09.22.54.19; author ad; state Exp; branches; next 1.5; 1.5 date 2007.01.16.01.36.50; author ad; state Exp; branches; next 1.4; 1.4 date 2005.02.03.04.39.32; author perry; state Exp; branches; next 1.3; 1.3 date 2004.10.02.07.59.11; author kent; state Exp; branches; next 1.2; 1.2 date 2003.01.18.10.32.11; author thorpej; state Exp; branches; next 1.1; 1.1 date 2001.03.05.23.33.26; author nathanw; state dead; branches 1.1.2.1; next ; 1.11.10.1 date 2014.05.22.11.36.35; author yamt; state Exp; branches; next ; commitid OndjEcbQZzO4KwBx; 1.11.16.1 date 2014.08.20.00.02.05; author tls; state Exp; branches; next ; commitid jTnpym9Qu0o4R1Nx; 1.10.10.1 date 2008.04.28.20.22.54; author christos; state dead; branches; next 1.10.10.2; 1.10.10.2 date 2008.12.28.01.15.39; author christos; state Exp; branches; next ; 1.9.6.1 date 2008.05.18.12.30.09; author yamt; state Exp; branches; next ; 1.7.2.1 date 2008.01.09.01.33.05; author matt; state Exp; branches; next ; 1.1.2.1 date 2001.03.05.23.33.26; author nathanw; state Exp; branches; next 1.1.2.2; 1.1.2.2 date 2002.02.03.20.15.26; author nathanw; state Exp; branches; next 1.1.2.3; 1.1.2.3 date 2003.01.17.03.35.25; author thorpej; state Exp; branches; next ; desc @@ 1.13 log @make _lwp_park return the remaining time to sleep in the "ts" argument if it is a relative timestamp, as discussed in tech-kern. XXX: pullup-8 @ text @/* $NetBSD: lwp.h,v 1.12 2014/01/31 20:44:17 christos Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation * by Nathan Williams. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #ifndef _LWP_H_ #define _LWP_H_ #include #include #include #include struct lwpctl; __BEGIN_DECLS lwpid_t _lwp_self(void); int _lwp_create(const ucontext_t *, unsigned long, lwpid_t *); int _lwp_exit(void); int _lwp_wait(lwpid_t, lwpid_t *); int _lwp_suspend(lwpid_t); int _lwp_continue(lwpid_t); int _lwp_wakeup(lwpid_t); void _lwp_makecontext(ucontext_t *, void (*)(void *), void *, void *, caddr_t, size_t); void *_lwp_getprivate(void); void _lwp_setprivate(void *); int _lwp_kill(lwpid_t, int); int _lwp_detach(lwpid_t); #ifndef __LIBC12_SOURCE__ int _lwp_park(clockid_t, int, struct timespec *, lwpid_t, const void *, const void *) __RENAME(___lwp_park60); #endif int _lwp_unpark(lwpid_t, const void *); ssize_t _lwp_unpark_all(const lwpid_t *, size_t, const void *); int _lwp_setname(lwpid_t, const char *); int _lwp_getname(lwpid_t, char *, size_t); int _lwp_ctl(int, struct lwpctl **); __END_DECLS #endif /* !_LWP_H_ */ @ 1.12 log @__lwp_park60 @ text @d1 1 a1 1 /* $NetBSD: lwp.h,v 1.11 2009/01/11 03:04:12 christos Exp $ */ d57 1 a57 1 int _lwp_park(clockid_t, int, const struct timespec *, lwpid_t, @ 1.11 log @merge christos-time_t @ text @d1 1 a1 1 /* $NetBSD: lwp.h,v 1.10.10.1 2008/12/28 01:15:39 christos Exp $ */ d57 2 a58 2 int _lwp_park(const struct timespec *, lwpid_t, const void *, const void *) __RENAME(___lwp_park50); @ 1.11.16.1 log @Rebase to HEAD as of a few days ago. @ text @d1 1 a1 1 /* $NetBSD$ */ d57 2 a58 2 int _lwp_park(clockid_t, int, const struct timespec *, lwpid_t, const void *, const void *) __RENAME(___lwp_park60); @ 1.11.10.1 log @sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments") @ text @d1 1 a1 1 /* $NetBSD: lwp.h,v 1.11 2009/01/11 03:04:12 christos Exp $ */ d57 2 a58 2 int _lwp_park(clockid_t, int, const struct timespec *, lwpid_t, const void *, const void *) __RENAME(___lwp_park60); @ 1.10 log @Remove clause 3 and 4 from TNF licenses @ text @d1 1 a1 1 /* $NetBSD: lwp.h,v 1.9 2007/11/13 17:38:55 ad Exp $ */ d56 4 a59 1 int _lwp_park(const struct timespec *, lwpid_t, const void *, const void *); @ 1.10.10.1 log @file lwp.h was added on branch christos-time_t on 2008-12-28 01:15:39 +0000 @ text @d1 64 @ 1.10.10.2 log @more compat changes - new functions - adjust utmp size. @ text @a0 67 /* $NetBSD: lwp.h,v 1.10.10.1 2008/12/28 01:15:39 christos Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation * by Nathan Williams. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #ifndef _LWP_H_ #define _LWP_H_ #include #include #include #include struct lwpctl; __BEGIN_DECLS lwpid_t _lwp_self(void); int _lwp_create(const ucontext_t *, unsigned long, lwpid_t *); int _lwp_exit(void); int _lwp_wait(lwpid_t, lwpid_t *); int _lwp_suspend(lwpid_t); int _lwp_continue(lwpid_t); int _lwp_wakeup(lwpid_t); void _lwp_makecontext(ucontext_t *, void (*)(void *), void *, void *, caddr_t, size_t); void *_lwp_getprivate(void); void _lwp_setprivate(void *); int _lwp_kill(lwpid_t, int); int _lwp_detach(lwpid_t); #ifndef __LIBC12_SOURCE__ int _lwp_park(const struct timespec *, lwpid_t, const void *, const void *) __RENAME(___lwp_park50); #endif int _lwp_unpark(lwpid_t, const void *); ssize_t _lwp_unpark_all(const lwpid_t *, size_t, const void *); int _lwp_setname(lwpid_t, const char *); int _lwp_getname(lwpid_t, char *, size_t); int _lwp_ctl(int, struct lwpctl **); __END_DECLS #endif /* !_LWP_H_ */ @ 1.9 log @Add _lwp_ctl() - sorry, I thought I had checked this in yesterday along with makelintstub. @ text @d1 1 a1 1 /* $NetBSD: lwp.h,v 1.8 2007/11/07 00:34:45 ad Exp $ */ a17 7 * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the NetBSD * Foundation, Inc. and its contributors. * 4. Neither the name of The NetBSD Foundation nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. @ 1.9.6.1 log @sync with head. @ text @d1 1 a1 1 /* $NetBSD: lwp.h,v 1.9 2007/11/13 17:38:55 ad Exp $ */ d18 7 @ 1.8 log @Add _lwp_setname, _lwp_getname. @ text @d1 1 a1 1 /* $NetBSD: lwp.h,v 1.7 2007/08/07 19:04:21 ad Exp $ */ d47 2 d68 1 @ 1.7 log @Change the signature of _lwp_park() to accept an lwpid_t and second hint pointer, but do so in a way that remains compatible with older pthread libraries. This can be used to wake another thread before the calling thread goes asleep, saving at least one syscall + involuntary context switch. This turns out to be a fairly large win on the condvar benchmarks that I have tried. @ text @d1 1 a1 1 /* $NetBSD: lwp.h,v 1.6 2007/02/09 22:54:19 ad Exp $ */ d64 2 @ 1.7.2.1 log @sync with HEAD @ text @d1 1 a1 1 /* $NetBSD$ */ a46 2 struct lwpctl; a63 3 int _lwp_setname(lwpid_t, const char *); int _lwp_getname(lwpid_t, char *, size_t); int _lwp_ctl(int, struct lwpctl **); @ 1.6 log @Change _lwp_unpark_all() to return a 'ssize_t'. @ text @d1 1 a1 1 /* $NetBSD: lwp.h,v 1.5 2007/01/16 01:36:50 ad Exp $ */ d61 1 a61 1 int _lwp_park(const struct timespec *, ucontext_t *, const void *); @ 1.5 log @Add: _lwp_kill, _lwp_detach, _lwp_park, lwp_unpark, _lwp_unpark_all. @ text @d1 1 a1 1 /* $NetBSD: lwp.h,v 1.4 2005/02/03 04:39:32 perry Exp $ */ d63 1 a63 1 int _lwp_unpark_all(const lwpid_t *, size_t, const void *); @ 1.4 log @de-__P -- the hack is long since useless. Discussed with christos, matt, kleink, others. Approved by christos. @ text @d1 1 a1 1 /* $NetBSD: lwp.h,v 1.3 2004/10/02 07:59:11 kent Exp $ */ d45 1 d59 5 @ 1.3 log @correct the return value type of _lwp_self() @ text @d1 1 a1 1 /* $NetBSD: lwp.h,v 1.2 2003/01/18 10:32:11 thorpej Exp $ */ d47 11 a57 11 lwpid_t _lwp_self __P((void)); int _lwp_create __P((const ucontext_t *, unsigned long, lwpid_t *)); int _lwp_exit __P((void)); int _lwp_wait __P((lwpid_t, lwpid_t *)); int _lwp_suspend __P((lwpid_t)); int _lwp_continue __P((lwpid_t)); int _lwp_wakeup __P((lwpid_t)); void _lwp_makecontext __P((ucontext_t *, void (*)(void *), void *, void *, caddr_t, size_t)); void *_lwp_getprivate __P((void)); void _lwp_setprivate __P((void *)); @ 1.2 log @Merge the nathanw_sa branch. @ text @d1 1 a1 1 /* $NetBSD$ */ d47 1 a47 1 int _lwp_self __P((void)); @ 1.1 log @file lwp.h was initially added on branch nathanw_sa. @ text @d1 60 @ 1.1.2.1 log @User-level support for LWPs and scheduler activations. SVR4-style ucontext code by Klaus Klein. @ text @a0 57 /* $NetBSD$ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation * by Nathan Williams. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the NetBSD * Foundation, Inc. and its contributors. * 4. Neither the name of The NetBSD Foundation nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #ifndef _LWP_H_ #define _LWP_H_ #include #include #include __BEGIN_DECLS int _lwp_self(void); int _lwp_create(const ucontext_t *, unsigned long, lwpid_t *); int _lwp_exit(void); int _lwp_wait(lwpid_t, lwpid_t *); int _lwp_suspend(lwpid_t); int _lwp_continue(lwpid_t); void _lwp_makecontext(ucontext_t *, void (*)(void *), void *, void *, caddr_t, size_t); __END_DECLS #endif /* !_LWP_H_ */ @ 1.1.2.2 log @Add _lwp_wakeup() @ text @d1 1 a1 1 /* $NetBSD: lwp.h,v 1.1.2.1 2001/03/05 23:33:26 nathanw Exp $ */ a52 1 int _lwp_wakeup(lwpid_t); @ 1.1.2.3 log @* Add prototypes for _lwp_getprivate(2) and _lwp_setprivate(2). * While here, since this is a user header file, __P'ify prototypes. @ text @d1 1 a1 1 /* $NetBSD$ */ d47 9 a55 11 int _lwp_self __P((void)); int _lwp_create __P((const ucontext_t *, unsigned long, lwpid_t *)); int _lwp_exit __P((void)); int _lwp_wait __P((lwpid_t, lwpid_t *)); int _lwp_suspend __P((lwpid_t)); int _lwp_continue __P((lwpid_t)); int _lwp_wakeup __P((lwpid_t)); void _lwp_makecontext __P((ucontext_t *, void (*)(void *), void *, void *, caddr_t, size_t)); void *_lwp_getprivate __P((void)); void _lwp_setprivate __P((void *)); @