|
From: Tom H. <th...@cy...> - 2004-03-31 15:23:40
|
CVS commit by thughes:
Implement tcdrain in the pthread library. The fact that this function
is missing was reported in bug #70344 but the reporter then closed the
bug saying that they were using the wrong version of valgrind.
Patch from Henrik Algestam <alg...@ho...>.
M +11 -0 vg_libpthread.c 1.150
M +1 -1 vg_libpthread_unimp.c 1.44
--- valgrind/coregrind/vg_libpthread.c #1.149:1.150
@@ -2207,4 +2207,14 @@ int __pause(void)
extern
+int __libc_tcdrain(int fd);
+WEAK
+int __tcdrain(int fd)
+{
+ __my_pthread_testcancel();
+ return __libc_tcdrain(fd);
+}
+
+
+extern
int __libc_fsync(int fd);
WEAK
@@ -2384,4 +2394,5 @@ weak_alias (__pwrite64, pwrite64)
weak_alias(__nanosleep, nanosleep)
weak_alias(__pause, pause)
+weak_alias(__tcdrain, tcdrain)
--- valgrind/coregrind/vg_libpthread_unimp.c #1.43:1.44
@@ -221,5 +221,5 @@ weak_alias(_IO_ftrylockfile, ftrylockfil
//__attribute__((weak)) void recvmsg ( void ) { vgPlain_unimp("recvmsg"); }
//__attribute__((weak)) void sendmsg ( void ) { vgPlain_unimp("sendmsg"); }
-__attribute__((weak)) void tcdrain ( void ) { vgPlain_unimp("tcdrain"); }
+//__attribute__((weak)) void tcdrain ( void ) { vgPlain_unimp("tcdrain"); }
//--//__attribute__((weak)) void vfork ( void ) { vgPlain_unimp("vfork"); }
|