PtThreadIdToDrdThreadId(arg[1]));
break;
+ case VG_USERREQ__PRE_THREAD_CANCEL:
+ tl_assert(arg[1]);
+ drd_pre_thread_cancel(drd_tid, PtThreadIdToDrdThreadId(arg[1]));
+ break;
+
+ case VG_USERREQ__POST_THREAD_CANCEL:
+ tl_assert(arg[1]);
+ drd_post_thread_cancel(drd_tid, PtThreadIdToDrdThreadId(arg[1]), arg[2]);
+ break;
+
case VG_USERREQ__PRE_MUTEX_INIT:
if (thread_enter_synchr(drd_tid) == 0)
drd_pre_mutex_init(arg[1], arg[2]);
VG_USERREQ__POST_THREAD_JOIN,
/* args: pthread_t (joinee) */
+ /* To notify drd before a pthread_cancel call. */
+ VG_USERREQ__PRE_THREAD_CANCEL,
+ /* args: pthread_t */
+ /* To notify drd after a pthread_cancel call. */
+ VG_USERREQ__POST_THREAD_CANCEL,
+ /* args: pthread_t, Bool */
+
/* to notify the drd tool of a pthread_mutex_init call. */
VG_USERREQ__PRE_MUTEX_INIT,
/* args: Addr, MutexT */