+2006-09-12 Jakub Jelinek <jakub@redhat.com>
+
+ [BZ #2526]
+ * README.libm: Fix a thinko in sqrt algorithm description.
+
+ [BZ #3143]
+ * manual/string.texi (argz_delete): Fix prototype.
+ Patch by <alpt@freaknet.org>.
+
+2006-08-26 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #3138]
+ * io/test-lfs.c (do_prepare): Give name_len type size_t.
+ * io/tst-fcntl.c (do_prepare): Likewise.
+ * posix/tst-exec.c (do_prepare): Likewise.
+ * posix/tst-preadwrite.c (do_prepare): Likewise.
+ * posix/tst-spawn.c (do_prepare): Likewise.
+ * posix/tst-truncate.c (do_prepare): Likewise.
+ * rt/tst-aio.c (do_prepare): Likewise.
+ * rt/tst-aio64.c (do_prepare): Likewise.
+ * stdlib/test-canon2.c (do_prepare): Give test_dir_len type
+ size_t.
+
2006-09-09 Ulrich Drepper <drepper@redhat.com>
[BZ #2821]
* Bit by bit method using integer arithmetic. (Slow, but portable)
* 1. Normalization
* Scale x to y in [1,4) with even powers of 2:
- * find an integer k such that 1 <= (y=x*2^(2k)) < 4, then
+ * find an integer k such that 1 <= (y=x*2^(-2k)) < 4, then
* sqrt(x) = 2^k * sqrt(y)
* 2. Bit by bit computation
* Let q = sqrt(y) truncated to i bit after binary point (q = 1),
void
do_prepare (int argc, char *argv[])
{
- char name_len;
+ size_t name_len;
struct rlimit64 rlim;
name_len = strlen (test_dir);
void
do_prepare (int argc, char *argv[])
{
- char name_len;
+ size_t name_len;
name_len = strlen (test_dir);
name = malloc (name_len + sizeof ("/fcntlXXXXXX"));
@comment argz.h
@comment GNU
-@deftypefun {error_t} argz_delete (char **@var{argz}, size_t *@var{argz_len}, char *@var{entry})
+@deftypefun {void} argz_delete (char **@var{argz}, size_t *@var{argz_len}, char *@var{entry})
If @var{entry} points to the beginning of one of the elements in the
argz vector @code{*@var{argz}}, the @code{argz_delete} function will
remove this entry and reallocate @code{*@var{argz}}, modifying
+2006-09-12 Ulrich Drepper <drepper@redhat.com>
+
+ * tst-cond22.c (tf): Slight changes to the pthread_cond_wait use
+ to guarantee the thread is always canceled.
+
2006-09-08 Jakub Jelinek <jakub@redhat.com>
* tst-cond22.c: Include pthread.h instead of pthreadP.h.
exit (1);
}
pthread_cleanup_push (cl, NULL);
- if (pthread_cond_wait (&c, &m) != 0)
- {
- printf ("%s: cond_wait failed\n", __func__);
- exit (1);
+ /* We have to loop here because the cancellation might come after
+ the cond_wait call left the cancelable area and is then waiting
+ on the mutex. In this case the beginning of the second cond_wait
+ call will cause the cancellation to happen. */
+ while (1)
+ {
+ if (pthread_cond_wait (&c, &m) != 0)
+ {
+ printf ("%s: cond_wait failed\n", __func__);
+ exit (1);
+ }
+ if (pthread_mutex_unlock (&m) != 0)
+ {
+ printf ("%s: mutex_unlock failed\n", __func__);
+ exit (1);
+ }
}
pthread_cleanup_pop (0);
- if (pthread_mutex_unlock (&m) != 0)
- {
- printf ("%s: mutex_unlock failed\n", __func__);
- exit (1);
- }
return NULL;
}
void
do_prepare (int argc, char *argv[])
{
- char name_len;
+ size_t name_len;
name_len = strlen (test_dir);
name1 = malloc (name_len + sizeof ("/execXXXXXX"));
void
do_prepare (int argc, char *argv[])
{
- char name_len;
+ size_t name_len;
#define FNAME FNAME2(TRUNCATE)
#define FNAME2(s) "/" STRINGIFY(s) "XXXXXX"
void
do_prepare (int argc, char *argv[])
{
- char name_len;
+ size_t name_len;
name_len = strlen (test_dir);
name1 = (char *) malloc (name_len + sizeof ("/spawnXXXXXX"));
void
do_prepare (int argc, char *argv[])
{
- char name_len;
+ size_t name_len;
#define FNAME FNAME2(TRUNCATE)
#define FNAME2(s) "/" STRINGIFY(s) "XXXXXX"
void
do_prepare (int argc, char *argv[])
{
- char name_len;
+ size_t name_len;
name_len = strlen (test_dir);
name = malloc (name_len + sizeof ("/aioXXXXXX"));
void
do_prepare (int argc, char *argv[])
{
- char name_len;
+ size_t name_len;
name_len = strlen (test_dir);
name = malloc (name_len + sizeof ("/aioXXXXXX"));
void
do_prepare (int argc, char *argv[])
{
- char test_dir_len;
+ size_t test_dir_len;
test_dir_len = strlen (test_dir);