mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-11 22:31:12 +02:00
*** empty log message ***
This commit is contained in:
parent
6a2d5b8ce7
commit
f3b5e18566
3 changed files with 92 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
|||
2000-03-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
|
||||
|
||||
* configure.in (ac_cv_struct_timespec): Added test for struct
|
||||
timespec.
|
||||
|
||||
* acconfig.h (HAVE_STRUCT_TIMESPEC): Added.
|
||||
|
||||
2000-01-25 Marius Vollmer <mvo@zagadka.ping.de>
|
||||
|
||||
* autogen.sh: Call libtoolize. Pass --add-missing option to
|
||||
|
|
79
NEWS
79
NEWS
|
@ -231,6 +231,85 @@ In Scheme:
|
|||
...)
|
||||
|
||||
|
||||
** Deprecated: coop_mutex_init, coop_condition_variable_init
|
||||
|
||||
Don't use the functions coop_mutex_init and
|
||||
coop_condition_variable_init. They will change.
|
||||
|
||||
Use scm_mutex_init and scm_cond_init instead.
|
||||
|
||||
** scm_mutex_init now takes a second argument
|
||||
|
||||
scm_mutex_init has changed: It now takes a second, attribute,
|
||||
argument. For now, pass NULL as second arg.
|
||||
|
||||
If your application uses mutecis and you want to be compatible with
|
||||
both older and newer Guile's, put:
|
||||
|
||||
AC_CACHE_CHECK(for two argument scm_mutex_init,
|
||||
ac_cv_func_scm_mutex_init_two_args,
|
||||
AC_TRY_COMPILE([#include <libguile.h>],[scm_mutex_init (NULL, NULL);],
|
||||
ac_cv_func_scm_mutex_init_two_args=yes,
|
||||
ac_cv_func_scm_mutex_init_two_args=no))
|
||||
if test "$ac_cv_func_scm_mutex_init_two_args" = "yes"; then
|
||||
AC_DEFINE(SCM_MUTEX_INIT_TWO_ARGS, 1,
|
||||
[define if scm_mutex_init takes two arguments])
|
||||
fi
|
||||
|
||||
in your configure.in and call scm_mutex_init like this:
|
||||
|
||||
#ifdef SCM_MUTEX_INIT_TWO_ARGS
|
||||
scm_mutex_init (&my_mutex, NULL);
|
||||
#else
|
||||
scm_mutex_init (&my_mutex);
|
||||
#endif
|
||||
|
||||
** New function: int scm_cond_timedwait (scm_cond_t *COND, scm_mutex_t *MUTEX, const struct timespec *ABSTIME)
|
||||
`scm_cond_timedwait' atomically unlocks MUTEX and waits on
|
||||
COND, as `scm_cond_wait' does, but it also bounds the duration
|
||||
of the wait. If COND has not been signaled before time ABSTIME,
|
||||
the mutex MUTEX is re-acquired and `scm_cond_timedwait'
|
||||
returns the error code `ETIMEDOUT'.
|
||||
|
||||
The ABSTIME parameter specifies an absolute time, with the same
|
||||
origin as `time' and `gettimeofday': an ABSTIME of 0 corresponds
|
||||
to 00:00:00 GMT, January 1, 1970.
|
||||
|
||||
** New function: scm_cond_broadcast (scm_cond_t *COND)
|
||||
`scm_cond_broadcast' restarts all the threads that are waiting
|
||||
on the condition variable COND. Nothing happens if no threads are
|
||||
waiting on COND.
|
||||
|
||||
** New function: scm_key_create (scm_key_t *KEY, void (*destr_function) (void *))
|
||||
`scm_key_create' allocates a new TSD key. The key is stored in
|
||||
the location pointed to by KEY. There is no limit on the number
|
||||
of keys allocated at a given time. The value initially associated
|
||||
with the returned key is `NULL' in all currently executing threads.
|
||||
|
||||
The DESTR_FUNCTION argument, if not `NULL', specifies a destructor
|
||||
function associated with the key. When a thread terminates,
|
||||
DESTR_FUNCTION is called on the value associated with the key in
|
||||
that thread. The DESTR_FUNCTION is not called if a key is deleted
|
||||
with `scm_key_delete' or a value is changed with
|
||||
`scm_setspecific'. The order in which destructor functions are
|
||||
called at thread termination time is unspecified.
|
||||
|
||||
Destructors are not yet implemented.
|
||||
|
||||
** New function: scm_setspecific (scm_key_t KEY, const void *POINTER)
|
||||
`scm_setspecific' changes the value associated with KEY in the
|
||||
calling thread, storing the given POINTER instead.
|
||||
|
||||
** New function: scm_getspecific (scm_key_t KEY)
|
||||
`scm_getspecific' returns the value currently associated with
|
||||
KEY in the calling thread.
|
||||
|
||||
** New function: scm_key_delete (scm_key_t KEY)
|
||||
`scm_key_delete' deallocates a TSD key. It does not check
|
||||
whether non-`NULL' values are associated with that key in the
|
||||
currently executing threads, nor call the destructor function
|
||||
associated with the key.
|
||||
|
||||
* Changes to system call interfaces:
|
||||
|
||||
** The "select" procedure now tests port buffers for the ability to
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
2000-03-12 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
|
||||
2000-03-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
|
||||
|
||||
* coop-defs.h (struct timespec): Conditionally defined.
|
||||
|
||||
* coop.c (coop_condition_variable_timed_wait_mutex): Use ETIMEDOUT
|
||||
instead of ETIME.
|
||||
|
||||
* readline.c (match_paren): Bugfix: First arg to select is not
|
||||
number of descriptors but the number of the highest descriptor +
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue