noderb 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +19 -0
- data/README.md +25 -0
- data/ext/noderb_extension/extconf.rb +11 -0
- data/ext/noderb_extension/libuv/AUTHORS +11 -0
- data/ext/noderb_extension/libuv/LICENSE +48 -0
- data/ext/noderb_extension/libuv/Makefile +119 -0
- data/ext/noderb_extension/libuv/README +45 -0
- data/ext/noderb_extension/libuv/build/all.gyp +254 -0
- data/ext/noderb_extension/libuv/build/common.gypi +13 -0
- data/ext/noderb_extension/libuv/build/gyp_uv +43 -0
- data/ext/noderb_extension/libuv/config-mingw.mk +67 -0
- data/ext/noderb_extension/libuv/config-unix.mk +121 -0
- data/ext/noderb_extension/libuv/create-msvs-files.bat +14 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ANNOUNCE +482 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/BUGS +141 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/Bmakefile +268 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/CONTRIBUTORS +140 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING +150 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING.LIB +504 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ChangeLog +5194 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/FAQ +451 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/GNUmakefile +593 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/MAINTAINERS +4 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/Makefile +516 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/NEWS +1245 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile +24 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile.tests +260 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/PROGRESS +4 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README +601 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.Borland +57 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.CV +3036 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.NONPORTABLE +783 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.Watcom +62 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.WinCE +6 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/TODO +7 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/WinCE-PORT +222 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/attr.c +53 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/autostatic.c +69 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/barrier.c +47 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/build/all.gyp +207 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/builddmc.bat +9 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/cancel.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/cleanup.c +148 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/condvar.c +50 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/config.h +153 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/context.h +74 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/create.c +308 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/dll.c +92 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/errno.c +94 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/exit.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/fork.c +39 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/global.c +107 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/implement.h +944 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/misc.c +50 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/mutex.c +62 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/need_errno.h +145 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/nonportable.c +47 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/private.c +54 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.c +66 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsp +142 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsw +29 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.h +1368 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_destroy.c +79 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getdetachstate.c +86 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getinheritsched.c +51 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedparam.c +52 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedpolicy.c +61 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getscope.c +54 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstackaddr.c +97 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstacksize.c +100 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_init.c +117 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setdetachstate.c +91 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setinheritsched.c +57 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedparam.c +63 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedpolicy.c +55 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setscope.c +62 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstackaddr.c +97 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstacksize.c +110 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_destroy.c +103 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_init.c +69 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_wait.c +104 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_destroy.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_getpshared.c +95 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_init.c +85 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_setpshared.c +119 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cancel.c +189 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_destroy.c +253 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_init.c +167 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_signal.c +231 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_wait.c +567 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_destroy.c +86 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_getpshared.c +97 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_init.c +87 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_setpshared.c +117 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_delay_np.c +172 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_detach.c +136 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_equal.c +76 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_exit.c +106 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getconcurrency.c +45 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getschedparam.c +75 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getspecific.c +87 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getunique_np.c +47 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getw32threadhandle_np.c +65 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_join.c +157 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_create.c +108 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_delete.c +125 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_kill.c +105 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_consistent.c +187 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_destroy.c +148 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_init.c +130 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_lock.c +269 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_timedlock.c +324 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_trylock.c +154 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_unlock.c +175 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_destroy.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getkind_np.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getpshared.c +95 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getrobust.c +113 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_gettype.c +56 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_init.c +86 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setkind_np.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setpshared.c +119 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setrobust.c +119 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_settype.c +143 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_num_processors_np.c +56 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_once.c +79 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_destroy.c +143 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_init.c +109 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_rdlock.c +102 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedrdlock.c +109 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedwrlock.c +139 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_tryrdlock.c +102 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_trywrlock.c +122 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_unlock.c +93 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_wrlock.c +133 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_destroy.c +84 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_getpshared.c +97 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_init.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_setpshared.c +120 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_self.c +141 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcancelstate.c +125 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcanceltype.c +126 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setconcurrency.c +53 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setschedparam.c +123 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setspecific.c +167 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_destroy.c +111 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_init.c +123 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_lock.c +80 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_trylock.c +77 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_unlock.c +71 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_testcancel.c +103 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_timechange_handler_np.c +108 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_win32_attach_detach_np.c +258 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_MCS_lock.c +278 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_callUserDestroyRoutines.c +232 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_calloc.c +56 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_cond_check_need_init.c +78 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_getprocessors.c +91 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_is_attr.c +47 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_mutex_check_need_init.c +92 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_new.c +94 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processInitialize.c +92 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processTerminate.c +105 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_relmillisecs.c +132 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_reuse.c +151 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_cancelwrwait.c +50 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_check_need_init.c +77 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_semwait.c +135 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_spinlock_check_need_init.c +78 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadDestroy.c +79 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadStart.c +357 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_throw.c +189 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_timespec.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocCreate.c +118 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocDestroy.c +114 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/rwlock.c +51 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched.c +53 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched.h +183 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_max.c +134 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_min.c +135 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_getscheduler.c +71 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_setscheduler.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_yield.c +71 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_close.c +58 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_destroy.c +144 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_getvalue.c +110 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_init.c +169 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_open.c +58 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post.c +128 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post_multiple.c +142 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_timedwait.c +238 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_trywait.c +117 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_unlink.c +58 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_wait.c +187 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.c +69 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.h +169 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/signal.c +179 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/spin.c +46 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sync.c +43 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/tsd.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/version.rc +388 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/w32_CancelableWait.c +161 -0
- data/ext/noderb_extension/libuv/doc/desired-api.md +159 -0
- data/ext/noderb_extension/libuv/doc/iocp-links.html +574 -0
- data/ext/noderb_extension/libuv/include/ares.h +582 -0
- data/ext/noderb_extension/libuv/include/ares_version.h +24 -0
- data/ext/noderb_extension/libuv/include/eio.h +376 -0
- data/ext/noderb_extension/libuv/include/ev.h +835 -0
- data/ext/noderb_extension/libuv/include/ngx-queue.h +102 -0
- data/ext/noderb_extension/libuv/include/tree.h +762 -0
- data/ext/noderb_extension/libuv/include/uv-unix.h +138 -0
- data/ext/noderb_extension/libuv/include/uv-win.h +187 -0
- data/ext/noderb_extension/libuv/include/uv.h +635 -0
- data/ext/noderb_extension/libuv/src/ares/AUTHORS +37 -0
- data/ext/noderb_extension/libuv/src/ares/CHANGES +1198 -0
- data/ext/noderb_extension/libuv/src/ares/CMakeLists.txt +22 -0
- data/ext/noderb_extension/libuv/src/ares/NEWS +21 -0
- data/ext/noderb_extension/libuv/src/ares/README +60 -0
- data/ext/noderb_extension/libuv/src/ares/README.cares +13 -0
- data/ext/noderb_extension/libuv/src/ares/README.msvc +118 -0
- data/ext/noderb_extension/libuv/src/ares/README.node +21 -0
- data/ext/noderb_extension/libuv/src/ares/RELEASE-NOTES +25 -0
- data/ext/noderb_extension/libuv/src/ares/TODO +23 -0
- data/ext/noderb_extension/libuv/src/ares/ares__close_sockets.c +66 -0
- data/ext/noderb_extension/libuv/src/ares/ares__get_hostent.c +263 -0
- data/ext/noderb_extension/libuv/src/ares/ares__read_line.c +71 -0
- data/ext/noderb_extension/libuv/src/ares/ares__timeval.c +111 -0
- data/ext/noderb_extension/libuv/src/ares/ares_cancel.c +63 -0
- data/ext/noderb_extension/libuv/src/ares/ares_data.c +190 -0
- data/ext/noderb_extension/libuv/src/ares/ares_data.h +65 -0
- data/ext/noderb_extension/libuv/src/ares/ares_destroy.c +105 -0
- data/ext/noderb_extension/libuv/src/ares/ares_dns.h +90 -0
- data/ext/noderb_extension/libuv/src/ares/ares_expand_name.c +193 -0
- data/ext/noderb_extension/libuv/src/ares/ares_expand_string.c +75 -0
- data/ext/noderb_extension/libuv/src/ares/ares_fds.c +62 -0
- data/ext/noderb_extension/libuv/src/ares/ares_free_hostent.c +39 -0
- data/ext/noderb_extension/libuv/src/ares/ares_free_string.c +25 -0
- data/ext/noderb_extension/libuv/src/ares/ares_gethostbyaddr.c +292 -0
- data/ext/noderb_extension/libuv/src/ares/ares_gethostbyname.c +515 -0
- data/ext/noderb_extension/libuv/src/ares/ares_getnameinfo.c +426 -0
- data/ext/noderb_extension/libuv/src/ares/ares_getopt.c +122 -0
- data/ext/noderb_extension/libuv/src/ares/ares_getopt.h +53 -0
- data/ext/noderb_extension/libuv/src/ares/ares_getsock.c +72 -0
- data/ext/noderb_extension/libuv/src/ares/ares_init.c +1665 -0
- data/ext/noderb_extension/libuv/src/ares/ares_ipv6.h +78 -0
- data/ext/noderb_extension/libuv/src/ares/ares_library_init.c +132 -0
- data/ext/noderb_extension/libuv/src/ares/ares_library_init.h +39 -0
- data/ext/noderb_extension/libuv/src/ares/ares_llist.c +86 -0
- data/ext/noderb_extension/libuv/src/ares/ares_llist.h +42 -0
- data/ext/noderb_extension/libuv/src/ares/ares_mkquery.c +195 -0
- data/ext/noderb_extension/libuv/src/ares/ares_nowarn.c +59 -0
- data/ext/noderb_extension/libuv/src/ares/ares_nowarn.h +24 -0
- data/ext/noderb_extension/libuv/src/ares/ares_options.c +253 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_a_reply.c +260 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_aaaa_reply.c +256 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_mx_reply.c +170 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_ns_reply.c +182 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_ptr_reply.c +208 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_srv_reply.c +179 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_txt_reply.c +201 -0
- data/ext/noderb_extension/libuv/src/ares/ares_private.h +351 -0
- data/ext/noderb_extension/libuv/src/ares/ares_process.c +1296 -0
- data/ext/noderb_extension/libuv/src/ares/ares_query.c +183 -0
- data/ext/noderb_extension/libuv/src/ares/ares_rules.h +144 -0
- data/ext/noderb_extension/libuv/src/ares/ares_search.c +322 -0
- data/ext/noderb_extension/libuv/src/ares/ares_send.c +134 -0
- data/ext/noderb_extension/libuv/src/ares/ares_setup.h +191 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strcasecmp.c +66 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strcasecmp.h +30 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strdup.c +42 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strdup.h +26 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strerror.c +56 -0
- data/ext/noderb_extension/libuv/src/ares/ares_timeout.c +80 -0
- data/ext/noderb_extension/libuv/src/ares/ares_version.c +11 -0
- data/ext/noderb_extension/libuv/src/ares/ares_writev.c +79 -0
- data/ext/noderb_extension/libuv/src/ares/ares_writev.h +36 -0
- data/ext/noderb_extension/libuv/src/ares/bitncmp.c +59 -0
- data/ext/noderb_extension/libuv/src/ares/bitncmp.h +26 -0
- data/ext/noderb_extension/libuv/src/ares/config_cygwin/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_darwin/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_freebsd/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_linux/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_openbsd/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_sunos/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_win32/ares_config.h +369 -0
- data/ext/noderb_extension/libuv/src/ares/get_ver.awk +35 -0
- data/ext/noderb_extension/libuv/src/ares/inet_net_pton.c +450 -0
- data/ext/noderb_extension/libuv/src/ares/inet_net_pton.h +31 -0
- data/ext/noderb_extension/libuv/src/ares/inet_ntop.c +232 -0
- data/ext/noderb_extension/libuv/src/ares/inet_ntop.h +27 -0
- data/ext/noderb_extension/libuv/src/ares/nameser.h +193 -0
- data/ext/noderb_extension/libuv/src/ares/setup_once.h +488 -0
- data/ext/noderb_extension/libuv/src/ares/windows_port.c +22 -0
- data/ext/noderb_extension/libuv/src/eio/Changes +63 -0
- data/ext/noderb_extension/libuv/src/eio/LICENSE +36 -0
- data/ext/noderb_extension/libuv/src/eio/Makefile.am +15 -0
- data/ext/noderb_extension/libuv/src/eio/aclocal.m4 +8957 -0
- data/ext/noderb_extension/libuv/src/eio/autogen.sh +3 -0
- data/ext/noderb_extension/libuv/src/eio/config.h.in +86 -0
- data/ext/noderb_extension/libuv/src/eio/config_cygwin.h +77 -0
- data/ext/noderb_extension/libuv/src/eio/config_darwin.h +137 -0
- data/ext/noderb_extension/libuv/src/eio/config_freebsd.h +78 -0
- data/ext/noderb_extension/libuv/src/eio/config_linux.h +101 -0
- data/ext/noderb_extension/libuv/src/eio/config_sunos.h +81 -0
- data/ext/noderb_extension/libuv/src/eio/configure.ac +22 -0
- data/ext/noderb_extension/libuv/src/eio/demo.c +194 -0
- data/ext/noderb_extension/libuv/src/eio/ecb.h +370 -0
- data/ext/noderb_extension/libuv/src/eio/eio.3 +3428 -0
- data/ext/noderb_extension/libuv/src/eio/eio.c +2562 -0
- data/ext/noderb_extension/libuv/src/eio/eio.pod +969 -0
- data/ext/noderb_extension/libuv/src/eio/libeio.m4 +195 -0
- data/ext/noderb_extension/libuv/src/eio/xthread.h +164 -0
- data/ext/noderb_extension/libuv/src/ev/Changes +388 -0
- data/ext/noderb_extension/libuv/src/ev/LICENSE +36 -0
- data/ext/noderb_extension/libuv/src/ev/Makefile.am +18 -0
- data/ext/noderb_extension/libuv/src/ev/Makefile.in +771 -0
- data/ext/noderb_extension/libuv/src/ev/README +58 -0
- data/ext/noderb_extension/libuv/src/ev/aclocal.m4 +8957 -0
- data/ext/noderb_extension/libuv/src/ev/autogen.sh +6 -0
- data/ext/noderb_extension/libuv/src/ev/config.guess +1526 -0
- data/ext/noderb_extension/libuv/src/ev/config.h.in +125 -0
- data/ext/noderb_extension/libuv/src/ev/config.sub +1658 -0
- data/ext/noderb_extension/libuv/src/ev/config_cygwin.h +123 -0
- data/ext/noderb_extension/libuv/src/ev/config_darwin.h +122 -0
- data/ext/noderb_extension/libuv/src/ev/config_freebsd.h +120 -0
- data/ext/noderb_extension/libuv/src/ev/config_linux.h +130 -0
- data/ext/noderb_extension/libuv/src/ev/config_sunos.h +122 -0
- data/ext/noderb_extension/libuv/src/ev/configure +13037 -0
- data/ext/noderb_extension/libuv/src/ev/configure.ac +18 -0
- data/ext/noderb_extension/libuv/src/ev/depcomp +630 -0
- data/ext/noderb_extension/libuv/src/ev/ev++.h +816 -0
- data/ext/noderb_extension/libuv/src/ev/ev.3 +5311 -0
- data/ext/noderb_extension/libuv/src/ev/ev.c +3913 -0
- data/ext/noderb_extension/libuv/src/ev/ev.pod +5243 -0
- data/ext/noderb_extension/libuv/src/ev/ev_epoll.c +266 -0
- data/ext/noderb_extension/libuv/src/ev/ev_kqueue.c +198 -0
- data/ext/noderb_extension/libuv/src/ev/ev_poll.c +148 -0
- data/ext/noderb_extension/libuv/src/ev/ev_port.c +179 -0
- data/ext/noderb_extension/libuv/src/ev/ev_select.c +310 -0
- data/ext/noderb_extension/libuv/src/ev/ev_vars.h +203 -0
- data/ext/noderb_extension/libuv/src/ev/ev_win32.c +153 -0
- data/ext/noderb_extension/libuv/src/ev/ev_wrap.h +196 -0
- data/ext/noderb_extension/libuv/src/ev/event.c +402 -0
- data/ext/noderb_extension/libuv/src/ev/event.h +170 -0
- data/ext/noderb_extension/libuv/src/ev/install-sh +294 -0
- data/ext/noderb_extension/libuv/src/ev/libev.m4 +39 -0
- data/ext/noderb_extension/libuv/src/ev/ltmain.sh +8413 -0
- data/ext/noderb_extension/libuv/src/ev/missing +336 -0
- data/ext/noderb_extension/libuv/src/ev/mkinstalldirs +111 -0
- data/ext/noderb_extension/libuv/src/uv-common.c +172 -0
- data/ext/noderb_extension/libuv/src/uv-common.h +53 -0
- data/ext/noderb_extension/libuv/src/uv-cygwin.c +52 -0
- data/ext/noderb_extension/libuv/src/uv-darwin.c +64 -0
- data/ext/noderb_extension/libuv/src/uv-eio.c +113 -0
- data/ext/noderb_extension/libuv/src/uv-eio.h +13 -0
- data/ext/noderb_extension/libuv/src/uv-freebsd.c +65 -0
- data/ext/noderb_extension/libuv/src/uv-linux.c +51 -0
- data/ext/noderb_extension/libuv/src/uv-sunos.c +60 -0
- data/ext/noderb_extension/libuv/src/uv-unix.c +2408 -0
- data/ext/noderb_extension/libuv/src/win/async.c +129 -0
- data/ext/noderb_extension/libuv/src/win/cares.c +304 -0
- data/ext/noderb_extension/libuv/src/win/core.c +155 -0
- data/ext/noderb_extension/libuv/src/win/error.c +140 -0
- data/ext/noderb_extension/libuv/src/win/getaddrinfo.c +341 -0
- data/ext/noderb_extension/libuv/src/win/handle.c +176 -0
- data/ext/noderb_extension/libuv/src/win/internal.h +237 -0
- data/ext/noderb_extension/libuv/src/win/loop-watcher.c +128 -0
- data/ext/noderb_extension/libuv/src/win/pipe.c +828 -0
- data/ext/noderb_extension/libuv/src/win/process.c +936 -0
- data/ext/noderb_extension/libuv/src/win/req.c +141 -0
- data/ext/noderb_extension/libuv/src/win/stdio.c +75 -0
- data/ext/noderb_extension/libuv/src/win/stream.c +149 -0
- data/ext/noderb_extension/libuv/src/win/tcp.c +895 -0
- data/ext/noderb_extension/libuv/src/win/timer.c +269 -0
- data/ext/noderb_extension/libuv/src/win/util.c +82 -0
- data/ext/noderb_extension/libuv/test/benchmark-ares.c +117 -0
- data/ext/noderb_extension/libuv/test/benchmark-getaddrinfo.c +90 -0
- data/ext/noderb_extension/libuv/test/benchmark-list.h +77 -0
- data/ext/noderb_extension/libuv/test/benchmark-ping-pongs.c +210 -0
- data/ext/noderb_extension/libuv/test/benchmark-pound.c +237 -0
- data/ext/noderb_extension/libuv/test/benchmark-pump.c +459 -0
- data/ext/noderb_extension/libuv/test/benchmark-sizes.c +39 -0
- data/ext/noderb_extension/libuv/test/benchmark-spawn.c +154 -0
- data/ext/noderb_extension/libuv/test/dns-server.c +323 -0
- data/ext/noderb_extension/libuv/test/echo-server.c +299 -0
- data/ext/noderb_extension/libuv/test/run-benchmarks.c +64 -0
- data/ext/noderb_extension/libuv/test/run-tests.c +82 -0
- data/ext/noderb_extension/libuv/test/runner-unix.c +335 -0
- data/ext/noderb_extension/libuv/test/runner-unix.h +36 -0
- data/ext/noderb_extension/libuv/test/runner-win.c +343 -0
- data/ext/noderb_extension/libuv/test/runner-win.h +42 -0
- data/ext/noderb_extension/libuv/test/runner.c +311 -0
- data/ext/noderb_extension/libuv/test/runner.h +155 -0
- data/ext/noderb_extension/libuv/test/task.h +111 -0
- data/ext/noderb_extension/libuv/test/test-async.c +218 -0
- data/ext/noderb_extension/libuv/test/test-callback-stack.c +205 -0
- data/ext/noderb_extension/libuv/test/test-connection-fail.c +149 -0
- data/ext/noderb_extension/libuv/test/test-delayed-accept.c +198 -0
- data/ext/noderb_extension/libuv/test/test-fail-always.c +29 -0
- data/ext/noderb_extension/libuv/test/test-get-currentexe.c +53 -0
- data/ext/noderb_extension/libuv/test/test-getaddrinfo.c +110 -0
- data/ext/noderb_extension/libuv/test/test-gethostbyname.c +192 -0
- data/ext/noderb_extension/libuv/test/test-getsockname.c +196 -0
- data/ext/noderb_extension/libuv/test/test-hrtime.c +51 -0
- data/ext/noderb_extension/libuv/test/test-idle.c +83 -0
- data/ext/noderb_extension/libuv/test/test-list.h +165 -0
- data/ext/noderb_extension/libuv/test/test-loop-handles.c +361 -0
- data/ext/noderb_extension/libuv/test/test-pass-always.c +28 -0
- data/ext/noderb_extension/libuv/test/test-ping-pong.c +256 -0
- data/ext/noderb_extension/libuv/test/test-pipe-bind-error.c +148 -0
- data/ext/noderb_extension/libuv/test/test-ref.c +91 -0
- data/ext/noderb_extension/libuv/test/test-shutdown-eof.c +183 -0
- data/ext/noderb_extension/libuv/test/test-spawn.c +345 -0
- data/ext/noderb_extension/libuv/test/test-tcp-bind-error.c +204 -0
- data/ext/noderb_extension/libuv/test/test-tcp-bind6-error.c +164 -0
- data/ext/noderb_extension/libuv/test/test-tcp-writealot.c +198 -0
- data/ext/noderb_extension/libuv/test/test-timer-again.c +141 -0
- data/ext/noderb_extension/libuv/test/test-timer.c +134 -0
- data/ext/noderb_extension/noderb.c +340 -0
- data/ext/noderb_extension/noderb.h +2 -0
- data/lib/noderb/connection.rb +21 -0
- data/lib/noderb/process.rb +17 -0
- data/lib/noderb.rb +25 -0
- metadata +470 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ptw32_tkAssocCreate.c
|
|
3
|
+
*
|
|
4
|
+
* Description:
|
|
5
|
+
* This translation unit implements routines which are private to
|
|
6
|
+
* the implementation and may be used throughout it.
|
|
7
|
+
*
|
|
8
|
+
* --------------------------------------------------------------------------
|
|
9
|
+
*
|
|
10
|
+
* Pthreads-win32 - POSIX Threads Library for Win32
|
|
11
|
+
* Copyright(C) 1998 John E. Bossom
|
|
12
|
+
* Copyright(C) 1999,2005 Pthreads-win32 contributors
|
|
13
|
+
*
|
|
14
|
+
* Contact Email: rpj@callisto.canberra.edu.au
|
|
15
|
+
*
|
|
16
|
+
* The current list of contributors is contained
|
|
17
|
+
* in the file CONTRIBUTORS included with the source
|
|
18
|
+
* code distribution. The list can also be seen at the
|
|
19
|
+
* following World Wide Web location:
|
|
20
|
+
* http://sources.redhat.com/pthreads-win32/contributors.html
|
|
21
|
+
*
|
|
22
|
+
* This library is free software; you can redistribute it and/or
|
|
23
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
24
|
+
* License as published by the Free Software Foundation; either
|
|
25
|
+
* version 2 of the License, or (at your option) any later version.
|
|
26
|
+
*
|
|
27
|
+
* This library is distributed in the hope that it will be useful,
|
|
28
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
29
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
30
|
+
* Lesser General Public License for more details.
|
|
31
|
+
*
|
|
32
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
33
|
+
* License along with this library in the file COPYING.LIB;
|
|
34
|
+
* if not, write to the Free Software Foundation, Inc.,
|
|
35
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
#include "pthread.h"
|
|
39
|
+
#include "implement.h"
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
int
|
|
43
|
+
ptw32_tkAssocCreate (ptw32_thread_t * sp, pthread_key_t key)
|
|
44
|
+
/*
|
|
45
|
+
* -------------------------------------------------------------------
|
|
46
|
+
* This routine creates an association that
|
|
47
|
+
* is unique for the given (thread,key) combination.The association
|
|
48
|
+
* is referenced by both the thread and the key.
|
|
49
|
+
* This association allows us to determine what keys the
|
|
50
|
+
* current thread references and what threads a given key
|
|
51
|
+
* references.
|
|
52
|
+
* See the detailed description
|
|
53
|
+
* at the beginning of this file for further details.
|
|
54
|
+
*
|
|
55
|
+
* Notes:
|
|
56
|
+
* 1) New associations are pushed to the beginning of the
|
|
57
|
+
* chain so that the internal ptw32_selfThreadKey association
|
|
58
|
+
* is always last, thus allowing selfThreadExit to
|
|
59
|
+
* be implicitly called last by pthread_exit.
|
|
60
|
+
* 2)
|
|
61
|
+
*
|
|
62
|
+
* Parameters:
|
|
63
|
+
* thread
|
|
64
|
+
* current running thread.
|
|
65
|
+
* key
|
|
66
|
+
* key on which to create an association.
|
|
67
|
+
* Returns:
|
|
68
|
+
* 0 - if successful,
|
|
69
|
+
* ENOMEM - not enough memory to create assoc or other object
|
|
70
|
+
* EINVAL - an internal error occurred
|
|
71
|
+
* ENOSYS - an internal error occurred
|
|
72
|
+
* -------------------------------------------------------------------
|
|
73
|
+
*/
|
|
74
|
+
{
|
|
75
|
+
ThreadKeyAssoc *assoc;
|
|
76
|
+
|
|
77
|
+
/*
|
|
78
|
+
* Have to create an association and add it
|
|
79
|
+
* to both the key and the thread.
|
|
80
|
+
*
|
|
81
|
+
* Both key->keyLock and thread->threadLock are locked before
|
|
82
|
+
* entry to this routine.
|
|
83
|
+
*/
|
|
84
|
+
assoc = (ThreadKeyAssoc *) calloc (1, sizeof (*assoc));
|
|
85
|
+
|
|
86
|
+
if (assoc == NULL)
|
|
87
|
+
{
|
|
88
|
+
return ENOMEM;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
assoc->thread = sp;
|
|
92
|
+
assoc->key = key;
|
|
93
|
+
|
|
94
|
+
/*
|
|
95
|
+
* Register assoc with key
|
|
96
|
+
*/
|
|
97
|
+
assoc->prevThread = NULL;
|
|
98
|
+
assoc->nextThread = (ThreadKeyAssoc *) key->threads;
|
|
99
|
+
if (assoc->nextThread != NULL)
|
|
100
|
+
{
|
|
101
|
+
assoc->nextThread->prevThread = assoc;
|
|
102
|
+
}
|
|
103
|
+
key->threads = (void *) assoc;
|
|
104
|
+
|
|
105
|
+
/*
|
|
106
|
+
* Register assoc with thread
|
|
107
|
+
*/
|
|
108
|
+
assoc->prevKey = NULL;
|
|
109
|
+
assoc->nextKey = (ThreadKeyAssoc *) sp->keys;
|
|
110
|
+
if (assoc->nextKey != NULL)
|
|
111
|
+
{
|
|
112
|
+
assoc->nextKey->prevKey = assoc;
|
|
113
|
+
}
|
|
114
|
+
sp->keys = (void *) assoc;
|
|
115
|
+
|
|
116
|
+
return (0);
|
|
117
|
+
|
|
118
|
+
} /* ptw32_tkAssocCreate */
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ptw32_tkAssocDestroy.c
|
|
3
|
+
*
|
|
4
|
+
* Description:
|
|
5
|
+
* This translation unit implements routines which are private to
|
|
6
|
+
* the implementation and may be used throughout it.
|
|
7
|
+
*
|
|
8
|
+
* --------------------------------------------------------------------------
|
|
9
|
+
*
|
|
10
|
+
* Pthreads-win32 - POSIX Threads Library for Win32
|
|
11
|
+
* Copyright(C) 1998 John E. Bossom
|
|
12
|
+
* Copyright(C) 1999,2005 Pthreads-win32 contributors
|
|
13
|
+
*
|
|
14
|
+
* Contact Email: rpj@callisto.canberra.edu.au
|
|
15
|
+
*
|
|
16
|
+
* The current list of contributors is contained
|
|
17
|
+
* in the file CONTRIBUTORS included with the source
|
|
18
|
+
* code distribution. The list can also be seen at the
|
|
19
|
+
* following World Wide Web location:
|
|
20
|
+
* http://sources.redhat.com/pthreads-win32/contributors.html
|
|
21
|
+
*
|
|
22
|
+
* This library is free software; you can redistribute it and/or
|
|
23
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
24
|
+
* License as published by the Free Software Foundation; either
|
|
25
|
+
* version 2 of the License, or (at your option) any later version.
|
|
26
|
+
*
|
|
27
|
+
* This library is distributed in the hope that it will be useful,
|
|
28
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
29
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
30
|
+
* Lesser General Public License for more details.
|
|
31
|
+
*
|
|
32
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
33
|
+
* License along with this library in the file COPYING.LIB;
|
|
34
|
+
* if not, write to the Free Software Foundation, Inc.,
|
|
35
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
#include "pthread.h"
|
|
39
|
+
#include "implement.h"
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
void
|
|
43
|
+
ptw32_tkAssocDestroy (ThreadKeyAssoc * assoc)
|
|
44
|
+
/*
|
|
45
|
+
* -------------------------------------------------------------------
|
|
46
|
+
* This routine releases all resources for the given ThreadKeyAssoc
|
|
47
|
+
* once it is no longer being referenced
|
|
48
|
+
* ie) either the key or thread has stopped referencing it.
|
|
49
|
+
*
|
|
50
|
+
* Parameters:
|
|
51
|
+
* assoc
|
|
52
|
+
* an instance of ThreadKeyAssoc.
|
|
53
|
+
* Returns:
|
|
54
|
+
* N/A
|
|
55
|
+
* -------------------------------------------------------------------
|
|
56
|
+
*/
|
|
57
|
+
{
|
|
58
|
+
|
|
59
|
+
/*
|
|
60
|
+
* Both key->keyLock and thread->threadLock are locked before
|
|
61
|
+
* entry to this routine.
|
|
62
|
+
*/
|
|
63
|
+
if (assoc != NULL)
|
|
64
|
+
{
|
|
65
|
+
ThreadKeyAssoc * prev, * next;
|
|
66
|
+
|
|
67
|
+
/* Remove assoc from thread's keys chain */
|
|
68
|
+
prev = assoc->prevKey;
|
|
69
|
+
next = assoc->nextKey;
|
|
70
|
+
if (prev != NULL)
|
|
71
|
+
{
|
|
72
|
+
prev->nextKey = next;
|
|
73
|
+
}
|
|
74
|
+
if (next != NULL)
|
|
75
|
+
{
|
|
76
|
+
next->prevKey = prev;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (assoc->thread->keys == assoc)
|
|
80
|
+
{
|
|
81
|
+
/* We're at the head of the thread's keys chain */
|
|
82
|
+
assoc->thread->keys = next;
|
|
83
|
+
}
|
|
84
|
+
if (assoc->thread->nextAssoc == assoc)
|
|
85
|
+
{
|
|
86
|
+
/*
|
|
87
|
+
* Thread is exiting and we're deleting the assoc to be processed next.
|
|
88
|
+
* Hand thread the assoc after this one.
|
|
89
|
+
*/
|
|
90
|
+
assoc->thread->nextAssoc = next;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* Remove assoc from key's threads chain */
|
|
94
|
+
prev = assoc->prevThread;
|
|
95
|
+
next = assoc->nextThread;
|
|
96
|
+
if (prev != NULL)
|
|
97
|
+
{
|
|
98
|
+
prev->nextThread = next;
|
|
99
|
+
}
|
|
100
|
+
if (next != NULL)
|
|
101
|
+
{
|
|
102
|
+
next->prevThread = prev;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (assoc->key->threads == assoc)
|
|
106
|
+
{
|
|
107
|
+
/* We're at the head of the key's threads chain */
|
|
108
|
+
assoc->key->threads = next;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
free (assoc);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
} /* ptw32_tkAssocDestroy */
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* rwlock.c
|
|
3
|
+
*
|
|
4
|
+
* Description:
|
|
5
|
+
* This translation unit implements read/write lock primitives.
|
|
6
|
+
*
|
|
7
|
+
* --------------------------------------------------------------------------
|
|
8
|
+
*
|
|
9
|
+
* Pthreads-win32 - POSIX Threads Library for Win32
|
|
10
|
+
* Copyright(C) 1998 John E. Bossom
|
|
11
|
+
* Copyright(C) 1999,2005 Pthreads-win32 contributors
|
|
12
|
+
*
|
|
13
|
+
* Contact Email: rpj@callisto.canberra.edu.au
|
|
14
|
+
*
|
|
15
|
+
* The current list of contributors is contained
|
|
16
|
+
* in the file CONTRIBUTORS included with the source
|
|
17
|
+
* code distribution. The list can also be seen at the
|
|
18
|
+
* following World Wide Web location:
|
|
19
|
+
* http://sources.redhat.com/pthreads-win32/contributors.html
|
|
20
|
+
*
|
|
21
|
+
* This library is free software; you can redistribute it and/or
|
|
22
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
23
|
+
* License as published by the Free Software Foundation; either
|
|
24
|
+
* version 2 of the License, or (at your option) any later version.
|
|
25
|
+
*
|
|
26
|
+
* This library is distributed in the hope that it will be useful,
|
|
27
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
28
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
29
|
+
* Lesser General Public License for more details.
|
|
30
|
+
*
|
|
31
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
32
|
+
* License along with this library in the file COPYING.LIB;
|
|
33
|
+
* if not, write to the Free Software Foundation, Inc.,
|
|
34
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
#include "ptw32_rwlock_check_need_init.c"
|
|
38
|
+
#include "ptw32_rwlock_cancelwrwait.c"
|
|
39
|
+
#include "pthread_rwlock_init.c"
|
|
40
|
+
#include "pthread_rwlock_destroy.c"
|
|
41
|
+
#include "pthread_rwlockattr_init.c"
|
|
42
|
+
#include "pthread_rwlockattr_destroy.c"
|
|
43
|
+
#include "pthread_rwlockattr_getpshared.c"
|
|
44
|
+
#include "pthread_rwlockattr_setpshared.c"
|
|
45
|
+
#include "pthread_rwlock_rdlock.c"
|
|
46
|
+
#include "pthread_rwlock_timedrdlock.c"
|
|
47
|
+
#include "pthread_rwlock_wrlock.c"
|
|
48
|
+
#include "pthread_rwlock_timedwrlock.c"
|
|
49
|
+
#include "pthread_rwlock_unlock.c"
|
|
50
|
+
#include "pthread_rwlock_tryrdlock.c"
|
|
51
|
+
#include "pthread_rwlock_trywrlock.c"
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* sched.c
|
|
3
|
+
*
|
|
4
|
+
* Description:
|
|
5
|
+
* POSIX thread functions that deal with thread scheduling.
|
|
6
|
+
*
|
|
7
|
+
* --------------------------------------------------------------------------
|
|
8
|
+
*
|
|
9
|
+
* Pthreads-win32 - POSIX Threads Library for Win32
|
|
10
|
+
* Copyright(C) 1998 John E. Bossom
|
|
11
|
+
* Copyright(C) 1999,2005 Pthreads-win32 contributors
|
|
12
|
+
*
|
|
13
|
+
* Contact Email: rpj@callisto.canberra.edu.au
|
|
14
|
+
*
|
|
15
|
+
* The current list of contributors is contained
|
|
16
|
+
* in the file CONTRIBUTORS included with the source
|
|
17
|
+
* code distribution. The list can also be seen at the
|
|
18
|
+
* following World Wide Web location:
|
|
19
|
+
* http://sources.redhat.com/pthreads-win32/contributors.html
|
|
20
|
+
*
|
|
21
|
+
* This library is free software; you can redistribute it and/or
|
|
22
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
23
|
+
* License as published by the Free Software Foundation; either
|
|
24
|
+
* version 2 of the License, or (at your option) any later version.
|
|
25
|
+
*
|
|
26
|
+
* This library is distributed in the hope that it will be useful,
|
|
27
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
28
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
29
|
+
* Lesser General Public License for more details.
|
|
30
|
+
*
|
|
31
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
32
|
+
* License along with this library in the file COPYING.LIB;
|
|
33
|
+
* if not, write to the Free Software Foundation, Inc.,
|
|
34
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
#include "pthread.h"
|
|
38
|
+
#include "implement.h"
|
|
39
|
+
#include "sched.h"
|
|
40
|
+
|
|
41
|
+
#include "pthread_attr_setschedpolicy.c"
|
|
42
|
+
#include "pthread_attr_getschedpolicy.c"
|
|
43
|
+
#include "pthread_attr_setschedparam.c"
|
|
44
|
+
#include "pthread_attr_getschedparam.c"
|
|
45
|
+
#include "pthread_attr_setinheritsched.c"
|
|
46
|
+
#include "pthread_attr_getinheritsched.c"
|
|
47
|
+
#include "pthread_setschedparam.c"
|
|
48
|
+
#include "pthread_getschedparam.c"
|
|
49
|
+
#include "sched_get_priority_max.c"
|
|
50
|
+
#include "sched_get_priority_min.c"
|
|
51
|
+
#include "sched_setscheduler.c"
|
|
52
|
+
#include "sched_getscheduler.c"
|
|
53
|
+
#include "sched_yield.c"
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Module: sched.h
|
|
3
|
+
*
|
|
4
|
+
* Purpose:
|
|
5
|
+
* Provides an implementation of POSIX realtime extensions
|
|
6
|
+
* as defined in
|
|
7
|
+
*
|
|
8
|
+
* POSIX 1003.1b-1993 (POSIX.1b)
|
|
9
|
+
*
|
|
10
|
+
* --------------------------------------------------------------------------
|
|
11
|
+
*
|
|
12
|
+
* Pthreads-win32 - POSIX Threads Library for Win32
|
|
13
|
+
* Copyright(C) 1998 John E. Bossom
|
|
14
|
+
* Copyright(C) 1999,2005 Pthreads-win32 contributors
|
|
15
|
+
*
|
|
16
|
+
* Contact Email: rpj@callisto.canberra.edu.au
|
|
17
|
+
*
|
|
18
|
+
* The current list of contributors is contained
|
|
19
|
+
* in the file CONTRIBUTORS included with the source
|
|
20
|
+
* code distribution. The list can also be seen at the
|
|
21
|
+
* following World Wide Web location:
|
|
22
|
+
* http://sources.redhat.com/pthreads-win32/contributors.html
|
|
23
|
+
*
|
|
24
|
+
* This library is free software; you can redistribute it and/or
|
|
25
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
26
|
+
* License as published by the Free Software Foundation; either
|
|
27
|
+
* version 2 of the License, or (at your option) any later version.
|
|
28
|
+
*
|
|
29
|
+
* This library is distributed in the hope that it will be useful,
|
|
30
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
31
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
32
|
+
* Lesser General Public License for more details.
|
|
33
|
+
*
|
|
34
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
35
|
+
* License along with this library in the file COPYING.LIB;
|
|
36
|
+
* if not, write to the Free Software Foundation, Inc.,
|
|
37
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
38
|
+
*/
|
|
39
|
+
#if !defined(_SCHED_H)
|
|
40
|
+
#define _SCHED_H
|
|
41
|
+
|
|
42
|
+
#undef PTW32_SCHED_LEVEL
|
|
43
|
+
|
|
44
|
+
#if defined(_POSIX_SOURCE)
|
|
45
|
+
#define PTW32_SCHED_LEVEL 0
|
|
46
|
+
/* Early POSIX */
|
|
47
|
+
#endif
|
|
48
|
+
|
|
49
|
+
#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199309
|
|
50
|
+
#undef PTW32_SCHED_LEVEL
|
|
51
|
+
#define PTW32_SCHED_LEVEL 1
|
|
52
|
+
/* Include 1b, 1c and 1d */
|
|
53
|
+
#endif
|
|
54
|
+
|
|
55
|
+
#if defined(INCLUDE_NP)
|
|
56
|
+
#undef PTW32_SCHED_LEVEL
|
|
57
|
+
#define PTW32_SCHED_LEVEL 2
|
|
58
|
+
/* Include Non-Portable extensions */
|
|
59
|
+
#endif
|
|
60
|
+
|
|
61
|
+
#define PTW32_SCHED_LEVEL_MAX 3
|
|
62
|
+
|
|
63
|
+
#if ( defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112 ) || !defined(PTW32_SCHED_LEVEL)
|
|
64
|
+
#define PTW32_SCHED_LEVEL PTW32_SCHED_LEVEL_MAX
|
|
65
|
+
/* Include everything */
|
|
66
|
+
#endif
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
#if defined(__GNUC__) && !defined(__declspec)
|
|
70
|
+
# error Please upgrade your GNU compiler to one that supports __declspec.
|
|
71
|
+
#endif
|
|
72
|
+
|
|
73
|
+
/*
|
|
74
|
+
* When building the library, you should define PTW32_BUILD so that
|
|
75
|
+
* the variables/functions are exported correctly. When using the library,
|
|
76
|
+
* do NOT define PTW32_BUILD, and then the variables/functions will
|
|
77
|
+
* be imported correctly.
|
|
78
|
+
*/
|
|
79
|
+
#if !defined(PTW32_STATIC_LIB)
|
|
80
|
+
# if defined(PTW32_BUILD)
|
|
81
|
+
# define PTW32_DLLPORT __declspec (dllexport)
|
|
82
|
+
# else
|
|
83
|
+
# define PTW32_DLLPORT __declspec (dllimport)
|
|
84
|
+
# endif
|
|
85
|
+
#else
|
|
86
|
+
# define PTW32_DLLPORT
|
|
87
|
+
#endif
|
|
88
|
+
|
|
89
|
+
/*
|
|
90
|
+
* This is a duplicate of what is in the autoconf config.h,
|
|
91
|
+
* which is only used when building the pthread-win32 libraries.
|
|
92
|
+
*/
|
|
93
|
+
|
|
94
|
+
#if !defined(PTW32_CONFIG_H)
|
|
95
|
+
# if defined(WINCE)
|
|
96
|
+
# define NEED_ERRNO
|
|
97
|
+
# define NEED_SEM
|
|
98
|
+
# endif
|
|
99
|
+
# if defined(__MINGW64__)
|
|
100
|
+
# define HAVE_STRUCT_TIMESPEC
|
|
101
|
+
# define HAVE_MODE_T
|
|
102
|
+
# elif defined(_UWIN) || defined(__MINGW32__)
|
|
103
|
+
# define HAVE_MODE_T
|
|
104
|
+
# endif
|
|
105
|
+
#endif
|
|
106
|
+
|
|
107
|
+
/*
|
|
108
|
+
*
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
#if PTW32_SCHED_LEVEL >= PTW32_SCHED_LEVEL_MAX
|
|
112
|
+
#if defined(NEED_ERRNO)
|
|
113
|
+
#include "need_errno.h"
|
|
114
|
+
#else
|
|
115
|
+
#include <errno.h>
|
|
116
|
+
#endif
|
|
117
|
+
#endif /* PTW32_SCHED_LEVEL >= PTW32_SCHED_LEVEL_MAX */
|
|
118
|
+
|
|
119
|
+
#if (defined(__MINGW64__) || defined(__MINGW32__)) || defined(_UWIN)
|
|
120
|
+
# if PTW32_SCHED_LEVEL >= PTW32_SCHED_LEVEL_MAX
|
|
121
|
+
/* For pid_t */
|
|
122
|
+
# include <sys/types.h>
|
|
123
|
+
/* Required by Unix 98 */
|
|
124
|
+
# include <time.h>
|
|
125
|
+
# else
|
|
126
|
+
typedef int pid_t;
|
|
127
|
+
# endif
|
|
128
|
+
#else
|
|
129
|
+
typedef int pid_t;
|
|
130
|
+
#endif
|
|
131
|
+
|
|
132
|
+
/* Thread scheduling policies */
|
|
133
|
+
|
|
134
|
+
enum {
|
|
135
|
+
SCHED_OTHER = 0,
|
|
136
|
+
SCHED_FIFO,
|
|
137
|
+
SCHED_RR,
|
|
138
|
+
SCHED_MIN = SCHED_OTHER,
|
|
139
|
+
SCHED_MAX = SCHED_RR
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
struct sched_param {
|
|
143
|
+
int sched_priority;
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
#if defined(__cplusplus)
|
|
147
|
+
extern "C"
|
|
148
|
+
{
|
|
149
|
+
#endif /* __cplusplus */
|
|
150
|
+
|
|
151
|
+
PTW32_DLLPORT int __cdecl sched_yield (void);
|
|
152
|
+
|
|
153
|
+
PTW32_DLLPORT int __cdecl sched_get_priority_min (int policy);
|
|
154
|
+
|
|
155
|
+
PTW32_DLLPORT int __cdecl sched_get_priority_max (int policy);
|
|
156
|
+
|
|
157
|
+
PTW32_DLLPORT int __cdecl sched_setscheduler (pid_t pid, int policy);
|
|
158
|
+
|
|
159
|
+
PTW32_DLLPORT int __cdecl sched_getscheduler (pid_t pid);
|
|
160
|
+
|
|
161
|
+
/*
|
|
162
|
+
* Note that this macro returns ENOTSUP rather than
|
|
163
|
+
* ENOSYS as might be expected. However, returning ENOSYS
|
|
164
|
+
* should mean that sched_get_priority_{min,max} are
|
|
165
|
+
* not implemented as well as sched_rr_get_interval.
|
|
166
|
+
* This is not the case, since we just don't support
|
|
167
|
+
* round-robin scheduling. Therefore I have chosen to
|
|
168
|
+
* return the same value as sched_setscheduler when
|
|
169
|
+
* SCHED_RR is passed to it.
|
|
170
|
+
*/
|
|
171
|
+
#define sched_rr_get_interval(_pid, _interval) \
|
|
172
|
+
( errno = ENOTSUP, (int) -1 )
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
#if defined(__cplusplus)
|
|
176
|
+
} /* End of extern "C" */
|
|
177
|
+
#endif /* __cplusplus */
|
|
178
|
+
|
|
179
|
+
#undef PTW32_SCHED_LEVEL
|
|
180
|
+
#undef PTW32_SCHED_LEVEL_MAX
|
|
181
|
+
|
|
182
|
+
#endif /* !_SCHED_H */
|
|
183
|
+
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* sched_get_priority_max.c
|
|
3
|
+
*
|
|
4
|
+
* Description:
|
|
5
|
+
* POSIX thread functions that deal with thread scheduling.
|
|
6
|
+
*
|
|
7
|
+
* --------------------------------------------------------------------------
|
|
8
|
+
*
|
|
9
|
+
* Pthreads-win32 - POSIX Threads Library for Win32
|
|
10
|
+
* Copyright(C) 1998 John E. Bossom
|
|
11
|
+
* Copyright(C) 1999,2005 Pthreads-win32 contributors
|
|
12
|
+
*
|
|
13
|
+
* Contact Email: rpj@callisto.canberra.edu.au
|
|
14
|
+
*
|
|
15
|
+
* The current list of contributors is contained
|
|
16
|
+
* in the file CONTRIBUTORS included with the source
|
|
17
|
+
* code distribution. The list can also be seen at the
|
|
18
|
+
* following World Wide Web location:
|
|
19
|
+
* http://sources.redhat.com/pthreads-win32/contributors.html
|
|
20
|
+
*
|
|
21
|
+
* This library is free software; you can redistribute it and/or
|
|
22
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
23
|
+
* License as published by the Free Software Foundation; either
|
|
24
|
+
* version 2 of the License, or (at your option) any later version.
|
|
25
|
+
*
|
|
26
|
+
* This library is distributed in the hope that it will be useful,
|
|
27
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
28
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
29
|
+
* Lesser General Public License for more details.
|
|
30
|
+
*
|
|
31
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
32
|
+
* License along with this library in the file COPYING.LIB;
|
|
33
|
+
* if not, write to the Free Software Foundation, Inc.,
|
|
34
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
#include "pthread.h"
|
|
38
|
+
#include "implement.h"
|
|
39
|
+
#include "sched.h"
|
|
40
|
+
|
|
41
|
+
/*
|
|
42
|
+
* On Windows98, THREAD_PRIORITY_LOWEST is (-2) and
|
|
43
|
+
* THREAD_PRIORITY_HIGHEST is 2, and everything works just fine.
|
|
44
|
+
*
|
|
45
|
+
* On WinCE 3.0, it so happen that THREAD_PRIORITY_LOWEST is 5
|
|
46
|
+
* and THREAD_PRIORITY_HIGHEST is 1 (yes, I know, it is funny:
|
|
47
|
+
* highest priority use smaller numbers) and the following happens:
|
|
48
|
+
*
|
|
49
|
+
* sched_get_priority_min() returns 5
|
|
50
|
+
* sched_get_priority_max() returns 1
|
|
51
|
+
*
|
|
52
|
+
* The following table shows the base priority levels for combinations
|
|
53
|
+
* of priority class and priority value in Win32.
|
|
54
|
+
*
|
|
55
|
+
* Process Priority Class Thread Priority Level
|
|
56
|
+
* -----------------------------------------------------------------
|
|
57
|
+
* 1 IDLE_PRIORITY_CLASS THREAD_PRIORITY_IDLE
|
|
58
|
+
* 1 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_IDLE
|
|
59
|
+
* 1 NORMAL_PRIORITY_CLASS THREAD_PRIORITY_IDLE
|
|
60
|
+
* 1 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_IDLE
|
|
61
|
+
* 1 HIGH_PRIORITY_CLASS THREAD_PRIORITY_IDLE
|
|
62
|
+
* 2 IDLE_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
|
|
63
|
+
* 3 IDLE_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
|
|
64
|
+
* 4 IDLE_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
|
|
65
|
+
* 4 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
|
|
66
|
+
* 5 IDLE_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
|
|
67
|
+
* 5 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
|
|
68
|
+
* 5 Background NORMAL_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
|
|
69
|
+
* 6 IDLE_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
|
|
70
|
+
* 6 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
|
|
71
|
+
* 6 Background NORMAL_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
|
|
72
|
+
* 7 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
|
|
73
|
+
* 7 Background NORMAL_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
|
|
74
|
+
* 7 Foreground NORMAL_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
|
|
75
|
+
* 8 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
|
|
76
|
+
* 8 NORMAL_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
|
|
77
|
+
* 8 Foreground NORMAL_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
|
|
78
|
+
* 8 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
|
|
79
|
+
* 9 NORMAL_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
|
|
80
|
+
* 9 Foreground NORMAL_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
|
|
81
|
+
* 9 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
|
|
82
|
+
* 10 Foreground NORMAL_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
|
|
83
|
+
* 10 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
|
|
84
|
+
* 11 Foreground NORMAL_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
|
|
85
|
+
* 11 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
|
|
86
|
+
* 11 HIGH_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
|
|
87
|
+
* 12 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
|
|
88
|
+
* 12 HIGH_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
|
|
89
|
+
* 13 HIGH_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
|
|
90
|
+
* 14 HIGH_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
|
|
91
|
+
* 15 HIGH_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
|
|
92
|
+
* 15 HIGH_PRIORITY_CLASS THREAD_PRIORITY_TIME_CRITICAL
|
|
93
|
+
* 15 IDLE_PRIORITY_CLASS THREAD_PRIORITY_TIME_CRITICAL
|
|
94
|
+
* 15 BELOW_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_TIME_CRITICAL
|
|
95
|
+
* 15 NORMAL_PRIORITY_CLASS THREAD_PRIORITY_TIME_CRITICAL
|
|
96
|
+
* 15 ABOVE_NORMAL_PRIORITY_CLASS THREAD_PRIORITY_TIME_CRITICAL
|
|
97
|
+
* 16 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_IDLE
|
|
98
|
+
* 17 REALTIME_PRIORITY_CLASS -7
|
|
99
|
+
* 18 REALTIME_PRIORITY_CLASS -6
|
|
100
|
+
* 19 REALTIME_PRIORITY_CLASS -5
|
|
101
|
+
* 20 REALTIME_PRIORITY_CLASS -4
|
|
102
|
+
* 21 REALTIME_PRIORITY_CLASS -3
|
|
103
|
+
* 22 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_LOWEST
|
|
104
|
+
* 23 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_BELOW_NORMAL
|
|
105
|
+
* 24 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_NORMAL
|
|
106
|
+
* 25 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL
|
|
107
|
+
* 26 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_HIGHEST
|
|
108
|
+
* 27 REALTIME_PRIORITY_CLASS 3
|
|
109
|
+
* 28 REALTIME_PRIORITY_CLASS 4
|
|
110
|
+
* 29 REALTIME_PRIORITY_CLASS 5
|
|
111
|
+
* 30 REALTIME_PRIORITY_CLASS 6
|
|
112
|
+
* 31 REALTIME_PRIORITY_CLASS THREAD_PRIORITY_TIME_CRITICAL
|
|
113
|
+
*
|
|
114
|
+
* Windows NT: Values -7, -6, -5, -4, -3, 3, 4, 5, and 6 are not supported.
|
|
115
|
+
*/
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
int
|
|
119
|
+
sched_get_priority_max (int policy)
|
|
120
|
+
{
|
|
121
|
+
if (policy < SCHED_MIN || policy > SCHED_MAX)
|
|
122
|
+
{
|
|
123
|
+
errno = EINVAL;
|
|
124
|
+
return -1;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
#if (THREAD_PRIORITY_LOWEST > THREAD_PRIORITY_NORMAL)
|
|
128
|
+
/* WinCE? */
|
|
129
|
+
return PTW32_MAX (THREAD_PRIORITY_IDLE, THREAD_PRIORITY_TIME_CRITICAL);
|
|
130
|
+
#else
|
|
131
|
+
/* This is independent of scheduling policy in Win32. */
|
|
132
|
+
return PTW32_MAX (THREAD_PRIORITY_IDLE, THREAD_PRIORITY_TIME_CRITICAL);
|
|
133
|
+
#endif
|
|
134
|
+
}
|