Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(371)

Side by Side Diff: gdb/contrib/expect-read1.c

Issue 124383005: GDB 7.6.50 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@upstream
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gdb/contrib/excheck.py ('k') | gdb/contrib/expect-read1.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* Copyright 2011-2012 Free Software Foundation, Inc. 1 /* Copyright (C) 2013 Free Software Foundation, Inc.
2 2
3 This file is part of GDB. 3 This file is part of GDB.
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or 7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17 17
18 #include <pthread.h> 18 /* RTLD_NEXT requires _GNU_SOURCE. */
19 #define _GNU_SOURCE 1
20 #include <dlfcn.h>
21 #include <unistd.h>
22 #include <fcntl.h>
19 #include <stdlib.h> 23 #include <stdlib.h>
20 #include <assert.h>
21 24
22 pthread_t thread0; 25 ssize_t
23 pthread_t thread1; 26 read (int fd, void *buf, size_t count)
27 {
28 static ssize_t (*read2) (int fd, void *buf, size_t count) = NULL;
24 29
25 static void * 30 if (read2 == NULL)
26 start (void *arg) 31 {
27 { 32 unsetenv ("LD_PRELOAD");
28 assert (pthread_self () == thread1); 33 read2 = dlsym (RTLD_NEXT, "read");
34 }
29 35
30 abort (); 36 if (count > 1 && isatty (fd) == 1)
37 count = 1;
38
39 return read2 (fd, buf, count);
31 } 40 }
32
33 int
34 main (void)
35 {
36 int i;
37
38 thread0 = pthread_self ();
39
40 i = pthread_create (&thread1, NULL, start, NULL);
41 assert (i == 0);
42
43 i = pthread_join (thread1, NULL);
44 assert (i == 0);
45
46 return 0;
47 }
OLDNEW
« no previous file with comments | « gdb/contrib/excheck.py ('k') | gdb/contrib/expect-read1.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698