Explorar o código

longjmp should use __libc_longjmp, use __typeof again now that it works correctly

Peter S. Mazinger %!s(int64=18) %!d(string=hai) anos
pai
achega
e36eacabd7
Modificáronse 1 ficheiros con 3 adicións e 3 borrados
  1. 3 3
      libpthread/linuxthreads.old/ptlongjmp.c

+ 3 - 3
libpthread/linuxthreads.old/ptlongjmp.c

@@ -21,8 +21,8 @@
 
 /* These functions are not declared anywhere since they shouldn't be
    used at another place but here.  */
-extern void __libc_siglongjmp (sigjmp_buf env, int val) attribute_noreturn;
-extern void __libc_longjmp (sigjmp_buf env, int val) attribute_noreturn;
+extern __typeof(siglongjmp) __libc_siglongjmp attribute_noreturn;
+extern __typeof(longjmp) __libc_longjmp attribute_noreturn;
 
 static void pthread_cleanup_upto(__jmp_buf target)
 {
@@ -48,5 +48,5 @@ void attribute_noreturn siglongjmp(sigjmp_buf env, int val)
 void attribute_noreturn longjmp(jmp_buf env, int val)
 {
   pthread_cleanup_upto(env->__jmpbuf);
-  __libc_siglongjmp(env, val);
+  __libc_longjmp(env, val);
 }