+}
+weak_alias(dummy_1, __pthread_tsd_run_dtors);
+
+static void cleanup_fromsig(void *p)
+{
+ pthread_t self = __pthread_self();
+ __pthread_tsd_run_dtors(self);
+ self->cancel = 0;
+ self->cancelbuf = 0;
+ self->canceldisable = 0;
+ self->cancelasync = 0;
+ self->unblock_cancel = 0;
+ longjmp(p, 1);
+}
+
+static void timer_handler(int sig, siginfo_t *si, void *ctx)
+{
+ pthread_t self = __pthread_self();
+ jmp_buf jb;