mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-05 21:00:05 +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/gconv_simple.c (internal_ucs4_loop): Prefer reporting
|
||||
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.
|
||||
|
||||
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;
|
||||
|
||||
/* Determine the status. */
|
||||
if (*outptrp == outend)
|
||||
result = __GCONV_FULL_OUTPUT;
|
||||
else if (*inptrp == inend)
|
||||
if (*inptrp == inend)
|
||||
result = __GCONV_EMPTY_INPUT;
|
||||
else if (*outptrp == outend)
|
||||
result = __GCONV_FULL_OUTPUT;
|
||||
else
|
||||
result = __GCONV_INCOMPLETE_INPUT;
|
||||
|
||||
@ -296,10 +296,10 @@ ucs4_internal_loop_unaligned (const unsigned char **inptrp,
|
||||
*outptrp = outptr;
|
||||
|
||||
/* Determine the status. */
|
||||
if (*outptrp == outend)
|
||||
result = __GCONV_FULL_OUTPUT;
|
||||
else if (*inptrp == inend)
|
||||
if (*inptrp == inend)
|
||||
result = __GCONV_EMPTY_INPUT;
|
||||
else if (*outptrp == outend)
|
||||
result = __GCONV_FULL_OUTPUT;
|
||||
else
|
||||
result = __GCONV_INCOMPLETE_INPUT;
|
||||
|
||||
@ -392,10 +392,10 @@ internal_ucs4le_loop (const unsigned char **inptrp, const unsigned char *inend,
|
||||
#endif
|
||||
|
||||
/* Determine the status. */
|
||||
if (*outptrp == outend)
|
||||
result = __GCONV_FULL_OUTPUT;
|
||||
else if (*inptrp == inend)
|
||||
if (*inptrp == inend)
|
||||
result = __GCONV_EMPTY_INPUT;
|
||||
else if (*outptrp == outend)
|
||||
result = __GCONV_FULL_OUTPUT;
|
||||
else
|
||||
result = __GCONV_INCOMPLETE_INPUT;
|
||||
|
||||
@ -438,10 +438,10 @@ internal_ucs4le_loop_unaligned (const unsigned char **inptrp,
|
||||
# endif
|
||||
|
||||
/* Determine the status. */
|
||||
if (*outptrp == outend)
|
||||
result = __GCONV_FULL_OUTPUT;
|
||||
else if (*inptrp == inend)
|
||||
if (*inptrp == inend)
|
||||
result = __GCONV_EMPTY_INPUT;
|
||||
else if (*outptrp == outend)
|
||||
result = __GCONV_FULL_OUTPUT;
|
||||
else
|
||||
result = __GCONV_INCOMPLETE_INPUT;
|
||||
|
||||
@ -531,10 +531,10 @@ ucs4le_internal_loop (const unsigned char **inptrp, const unsigned char *inend,
|
||||
*outptrp = outptr;
|
||||
|
||||
/* Determine the status. */
|
||||
if (*outptrp == outend)
|
||||
result = __GCONV_FULL_OUTPUT;
|
||||
else if (*inptrp == inend)
|
||||
if (*inptrp == inend)
|
||||
result = __GCONV_EMPTY_INPUT;
|
||||
else if (*outptrp == outend)
|
||||
result = __GCONV_FULL_OUTPUT;
|
||||
else
|
||||
result = __GCONV_INCOMPLETE_INPUT;
|
||||
|
||||
@ -583,10 +583,10 @@ ucs4le_internal_loop_unaligned (const unsigned char **inptrp,
|
||||
*outptrp = outptr;
|
||||
|
||||
/* Determine the status. */
|
||||
if (*outptrp == outend)
|
||||
result = __GCONV_FULL_OUTPUT;
|
||||
else if (*inptrp == inend)
|
||||
if (*inptrp == inend)
|
||||
result = __GCONV_EMPTY_INPUT;
|
||||
else if (*outptrp == outend)
|
||||
result = __GCONV_FULL_OUTPUT;
|
||||
else
|
||||
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>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/getcpuclockid.c
|
||||
|
Loading…
Reference in New Issue
Block a user