mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-03 08:11:08 +00:00
Update.
(ucs4_internal_loop): Likewise. (ucs4_internal_loop_unaligned): Likewise. (internal_ucs4le_loop): Likewise. (internal_ucs4le_loop_unaligned): Likewise. (ucs4le_internal_loop): Likewise. (ucs4le_internal_loop_unaligned): Likewise.
This commit is contained in:
parent
1336419e46
commit
fc08075dc6
@ -4,6 +4,12 @@
|
|||||||
* iconv/tst-iconv1.c: New file.
|
* iconv/tst-iconv1.c: New file.
|
||||||
* iconv/gconv_simple.c (internal_ucs4_loop): Prefer reporting
|
* iconv/gconv_simple.c (internal_ucs4_loop): Prefer reporting
|
||||||
empty input buffer over full output buffer.
|
empty input buffer over full output buffer.
|
||||||
|
(ucs4_internal_loop): Likewise.
|
||||||
|
(ucs4_internal_loop_unaligned): Likewise.
|
||||||
|
(internal_ucs4le_loop): Likewise.
|
||||||
|
(internal_ucs4le_loop_unaligned): Likewise.
|
||||||
|
(ucs4le_internal_loop): Likewise.
|
||||||
|
(ucs4le_internal_loop_unaligned): Likewise.
|
||||||
Reported by yaoz@nih.gov.
|
Reported by yaoz@nih.gov.
|
||||||
|
|
||||||
2000-05-06 Bruno Haible <haible@clisp.cons.org>
|
2000-05-06 Bruno Haible <haible@clisp.cons.org>
|
||||||
|
@ -234,10 +234,10 @@ ucs4_internal_loop (const unsigned char **inptrp, const unsigned char *inend,
|
|||||||
*outptrp = outptr;
|
*outptrp = outptr;
|
||||||
|
|
||||||
/* Determine the status. */
|
/* Determine the status. */
|
||||||
if (*outptrp == outend)
|
if (*inptrp == inend)
|
||||||
result = __GCONV_FULL_OUTPUT;
|
|
||||||
else if (*inptrp == inend)
|
|
||||||
result = __GCONV_EMPTY_INPUT;
|
result = __GCONV_EMPTY_INPUT;
|
||||||
|
else if (*outptrp == outend)
|
||||||
|
result = __GCONV_FULL_OUTPUT;
|
||||||
else
|
else
|
||||||
result = __GCONV_INCOMPLETE_INPUT;
|
result = __GCONV_INCOMPLETE_INPUT;
|
||||||
|
|
||||||
@ -296,10 +296,10 @@ ucs4_internal_loop_unaligned (const unsigned char **inptrp,
|
|||||||
*outptrp = outptr;
|
*outptrp = outptr;
|
||||||
|
|
||||||
/* Determine the status. */
|
/* Determine the status. */
|
||||||
if (*outptrp == outend)
|
if (*inptrp == inend)
|
||||||
result = __GCONV_FULL_OUTPUT;
|
|
||||||
else if (*inptrp == inend)
|
|
||||||
result = __GCONV_EMPTY_INPUT;
|
result = __GCONV_EMPTY_INPUT;
|
||||||
|
else if (*outptrp == outend)
|
||||||
|
result = __GCONV_FULL_OUTPUT;
|
||||||
else
|
else
|
||||||
result = __GCONV_INCOMPLETE_INPUT;
|
result = __GCONV_INCOMPLETE_INPUT;
|
||||||
|
|
||||||
@ -392,10 +392,10 @@ internal_ucs4le_loop (const unsigned char **inptrp, const unsigned char *inend,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Determine the status. */
|
/* Determine the status. */
|
||||||
if (*outptrp == outend)
|
if (*inptrp == inend)
|
||||||
result = __GCONV_FULL_OUTPUT;
|
|
||||||
else if (*inptrp == inend)
|
|
||||||
result = __GCONV_EMPTY_INPUT;
|
result = __GCONV_EMPTY_INPUT;
|
||||||
|
else if (*outptrp == outend)
|
||||||
|
result = __GCONV_FULL_OUTPUT;
|
||||||
else
|
else
|
||||||
result = __GCONV_INCOMPLETE_INPUT;
|
result = __GCONV_INCOMPLETE_INPUT;
|
||||||
|
|
||||||
@ -438,10 +438,10 @@ internal_ucs4le_loop_unaligned (const unsigned char **inptrp,
|
|||||||
# endif
|
# endif
|
||||||
|
|
||||||
/* Determine the status. */
|
/* Determine the status. */
|
||||||
if (*outptrp == outend)
|
if (*inptrp == inend)
|
||||||
result = __GCONV_FULL_OUTPUT;
|
|
||||||
else if (*inptrp == inend)
|
|
||||||
result = __GCONV_EMPTY_INPUT;
|
result = __GCONV_EMPTY_INPUT;
|
||||||
|
else if (*outptrp == outend)
|
||||||
|
result = __GCONV_FULL_OUTPUT;
|
||||||
else
|
else
|
||||||
result = __GCONV_INCOMPLETE_INPUT;
|
result = __GCONV_INCOMPLETE_INPUT;
|
||||||
|
|
||||||
@ -531,10 +531,10 @@ ucs4le_internal_loop (const unsigned char **inptrp, const unsigned char *inend,
|
|||||||
*outptrp = outptr;
|
*outptrp = outptr;
|
||||||
|
|
||||||
/* Determine the status. */
|
/* Determine the status. */
|
||||||
if (*outptrp == outend)
|
if (*inptrp == inend)
|
||||||
result = __GCONV_FULL_OUTPUT;
|
|
||||||
else if (*inptrp == inend)
|
|
||||||
result = __GCONV_EMPTY_INPUT;
|
result = __GCONV_EMPTY_INPUT;
|
||||||
|
else if (*outptrp == outend)
|
||||||
|
result = __GCONV_FULL_OUTPUT;
|
||||||
else
|
else
|
||||||
result = __GCONV_INCOMPLETE_INPUT;
|
result = __GCONV_INCOMPLETE_INPUT;
|
||||||
|
|
||||||
@ -583,10 +583,10 @@ ucs4le_internal_loop_unaligned (const unsigned char **inptrp,
|
|||||||
*outptrp = outptr;
|
*outptrp = outptr;
|
||||||
|
|
||||||
/* Determine the status. */
|
/* Determine the status. */
|
||||||
if (*outptrp == outend)
|
if (*inptrp == inend)
|
||||||
result = __GCONV_FULL_OUTPUT;
|
|
||||||
else if (*inptrp == inend)
|
|
||||||
result = __GCONV_EMPTY_INPUT;
|
result = __GCONV_EMPTY_INPUT;
|
||||||
|
else if (*outptrp == outend)
|
||||||
|
result = __GCONV_FULL_OUTPUT;
|
||||||
else
|
else
|
||||||
result = __GCONV_INCOMPLETE_INPUT;
|
result = __GCONV_INCOMPLETE_INPUT;
|
||||||
|
|
||||||
|
@ -1,3 +1,24 @@
|
|||||||
|
2000-05-06 Kaz Kylheku <kaz@ashi.footprints.net>
|
||||||
|
|
||||||
|
* internals.h: New thread manager request type, REQ_KICK.
|
||||||
|
* join.c (pthread_exit): main thread now calls exit() instead
|
||||||
|
of _exit() in order to proper process cleanup.
|
||||||
|
* manager.c (__pthread_manager): Do not terminate manager
|
||||||
|
after unblocking main thread; wait for main thread's
|
||||||
|
REQ_PROCESS_EXIT request instead.
|
||||||
|
Also, added REQ_KICK case to handle new request; this just does
|
||||||
|
nothing.
|
||||||
|
* manager.c (pthread_exited): Do not terminate manager after
|
||||||
|
unblocking main thread.
|
||||||
|
* manager.c (__pthread_manager_sighandler): If the main thread
|
||||||
|
is waiting for all other threads to die, send a REQ_KICK into
|
||||||
|
the thread manager request pipe to get it to clean out the threads
|
||||||
|
and unblock the main thread as soon as possible. This fixes
|
||||||
|
the 2000 millisecond hang on shutdown bug.
|
||||||
|
* Examples/ex7.c: New file, tests shutdown behavior when all threads
|
||||||
|
including the main one call pthread_exit(), or implicitly do so.
|
||||||
|
* Makefile (tests): Add ex7.
|
||||||
|
|
||||||
2000-05-05 Andreas Jaeger <aj@suse.de>
|
2000-05-05 Andreas Jaeger <aj@suse.de>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/i386/getcpuclockid.c
|
* sysdeps/unix/sysv/linux/i386/getcpuclockid.c
|
||||||
|
Loading…
Reference in New Issue
Block a user