Fix reading thread name from comm file

This commit is contained in:
Ulrich Drepper 2011-12-21 19:26:29 -05:00
parent 8fa26d571d
commit 60e8585f2a
3 changed files with 17 additions and 2 deletions

2
NEWS
View File

@ -13,7 +13,7 @@ Version 2.15
12885, 12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090,
13092, 13114, 13118, 13123, 13134, 13138, 13147, 13150, 13179, 13192,
13268, 13276, 13291, 13335, 13337, 13344, 13358, 13367, 13439, 13446,
13472, 13484, 13506, 13524
13472, 13484, 13506, 13515, 13524
* New program pldd to list loaded object of a process
Implemented by Ulrich Drepper.

View File

@ -1,3 +1,9 @@
2011-12-21 Ulrich Drepper <drepper@gmail.com>
[BZ #13515]
* sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
Correct reading name from file.
2011-12-14 Carlos O'Donell <carlos@systemhalted.org>
* allocatestack.c (allocate_stack): Return errno on failure.

View File

@ -1,5 +1,5 @@
/* pthread_getname_np -- Get thread name. Linux version
Copyright (C) 2010 Free Software Foundation, Inc.
Copyright (C) 2010, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -57,6 +57,15 @@ pthread_getname_np (th, buf, len)
ssize_t n = TEMP_FAILURE_RETRY (read_not_cancel (fd, buf, len));
if (n < 0)
res = errno;
else
{
if (buf[n - 1] == '\n')
buf[n - 1] = '\0';
else if (n == len)
res = ERANGE;
else
buf[n] = '\0';
}
close_not_cancel_no_status (fd);